glyphhq sends events from Python services, scripts, and data pipelines. It has no dependencies and supports Python 3.9+.
The SDK reports its package name and version with each request. Glyph stores this as diagnostic metadata alongside the write key used for ingestion. It is not added to event properties.
Install
Initialize
glyph_pk_... key in production and a glyph_test_... key while testing the integration. Configuration & delivery lists all options. Python uses snake_case keyword arguments: flush_at, flush_interval_seconds, timeout_seconds, max_retries, api_host, and on_error.
Identify customers with profile
Call profile when a customer signs up or when a profile trait changes. user_id is the stable identity key, and every profile must include email.
Record actions with track
timestamp keyword. It accepts a datetime, an ISO 8601 string, or epoch milliseconds:
Record account context with group
group records a group/account event on the customer’s timeline. Glyph does not currently create a separate account record or provide group-level analytics.
Flushing
The Python client is synchronous and has no background thread. It checks whether to flush when a message is enqueued. A flush runs when the queue reachesflush_at (default 20), when flush_interval_seconds (default 5) has elapsed at enqueue time, or when you call flush() or close().
Handle delivery failures
The SDK retries transient delivery failures. Add anon_error callback to log batches that still fail:
401 from an invalid write key, call on_error and then drop the batch. See Configuration & delivery.