Skip to main content

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)

Source distribution for bookcicle-eventing 2.0.0
File Size Uploaded Provenance
bookcicle_eventing-2.0.0.tar.gz 8.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for bookcicle-eventing 2.0.0
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page