Eventing SDK — Python 3.9+
Install: pip install bookcicle-eventing.
from eventing_sdk import EventingClient
events = EventingClient('https://events.example.com/events')
events.track({'name': 'checkout_completed', 'properties': {'product': 'book'}})
result = events.flush()
events.close()
Automatic batching: 25 events, first-event timer of 1 second (maximum age 5 seconds), 8192 UTF-8 bytes including the envelope. Three attempts per flush round with 200/400 ms backoff; retry 429/500/502/503/504 and network failures. Only HTTP 202 acknowledges ingestion. IDs and serialized bytes stay unchanged within a retry round.
Events are persisted before track succeeds. Transient failures stay queued and
retry automatically after 1 second; restart resumes pending events. Permanent
responses retain events and stop background retries until another track/flush.
Use queue inspection and discard to handle poison events. Queue capacity is 1000;
overflow rejects the new event without evicting older events. Close stops timers
and tries a final flush; failed events remain persisted.
Recursive privacy filtering removes common PII/click identifiers by default. Opting into sensitive properties never permits token/authorization fields. Auth is obtained once per batch, never persisted, and refreshed for the next batch. Use HTTPS with /events, /public or /secure; redirects are never followed.
See the public SDK guide, configuration and scaling guide for configuration, persistence, behavioral guarantees and publishing setup. SDKs are MIT licensed; the ingestion runtime retains its separate commercial license.
Per-event session override (next SDK release)
Each client generates a UUID and stores it in context.sid when
sid and context.sid are absent. An explicit sid takes precedence. Stored
events keep their session ID across retries and queue recovery. New client
instances use a new generated ID. Client-supplied IDs remain untrusted; the
service also enforces a shared anonymous quota. See the SDK guide.
Share a client only within one endpoint, verified tenant and authentication identity.
Auth is resolved per batch, so different credentials need separate clients/queues.
For a server sharing one service identity across users, pass the request's non-secret
analytics session ID in each track call. The override affects only that event;
it does not change the client's default SID. Keep the same SID and event ID on
recovery, and do not use tokens, authentication cookies or personal data as IDs.
An authenticated service quota still uses the verified auth-layer identity.
events.track({'name': 'page_view', 'sid': 'opaque-session-a'})
events.track({'name': 'page_view', 'sid': 'opaque-session-b'})
Omit event_id to generate a random UUID before enqueueing, or supply your durable
outbox's opaque ID. Explicit IDs must be 1–128 UTF-8 bytes without controls or
surrounding whitespace. Invalid IDs reject; they are never silently replaced.
Retry attempts within a round reuse identical HTTP bytes. A later recovery round
may rebuild its envelope with a new batch ID; queued event IDs and snapshots stay
unchanged. See the shared SDK contract for deduplication and retry scope.
Test environments
Set the client configuration environment to test and explicitly configure your isolated test endpoint. All SDKs accept dev, test and prod (default), with identical delivery semantics. Queues are bound to the endpoint, environment and default namespace; conflicting path/database reuse rejects before recovery. Drain nonempty legacy queues with the previous SDK or explicitly migrate verified snapshots before upgrading. See the test environment guide.
Metadata
Release files for bookcicle-eventing 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bookcicle_eventing-2.0.0.tar.gz | 8.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bookcicle_eventing-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.4 kB
Release files / bookcicle_eventing-2.0.0.tar.gz
| Download URL | bookcicle_eventing-2.0.0.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0429a7398a87dc70b2d38bb8cd6332ea5d56cc4aa5f2758bdba920fabbd990ab
|
|
BLAKE2b-256 checksum How to use checksums |
a8ea482efa8c1cb2b44d9c2872225599df8568098031756118f24e468871a339
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / bookcicle_eventing-2.0.0-py3-none-any.whl
| Download URL | bookcicle_eventing-2.0.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
85f1ea33f92ecff2ba69c08de16a4fbd40bedd1a0e93fbebc7dcab6ab8af3abf
|
|
BLAKE2b-256 checksum How to use checksums |
aeb5cf459b573265cbb9bc7b16cf6cbdac0dc163bd2ece85b71d4359237e141f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for bookcicle-eventing 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for bookcicle_eventing-2.0.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.