Skip to main content

sqllocks-shape-eventhubs

Shape plugin: an Azure Event Hubs stream source (shape.stream_sources, scheme eventhubs://).

pip install sqllocks-shape-eventhubs      # or: pip install 'sqllocks-shape[eventhubs]'
export SHAPE_EVENTHUBS_CONNECTION_STRING='Endpoint=sb://...'
shape stream-profile eventhubs://contoso.servicebus.windows.net/telemetry -o telemetry.json

eventhubs://NAMESPACE/HUB[?consumer_group=NAME] reads one event hub as Arrow micro-batches. Connect with a connection string (the connection_string option or SHAPE_EVENTHUBS_CONNECTION_STRING; the hub name comes from the URI) or, with the entra extra (pip install 'sqllocks-shape-eventhubs[entra]'), with Microsoft Entra sign-in. Event bodies are JSON objects; their fields become columns, and _shape_event_time carries the event time (the body's _shape_event_time, or the enqueued time). Shape keeps its own position: each partition is read from an explicit sequence number, nothing is checkpointed in Azure Blob Storage, and a StreamOffset is {partition id: next sequence number}.

Options, offsets, delivery guarantees and the checkpoint format are described in docs/plugins/streaming.md.

Emitting events: eventhubs://

export SHAPE_EVENTHUBS_CONNECTION_STRING='Endpoint=sb://...'
shape emit retail --realtime --rate 2000 --sink eventhubs://my-namespace/my-hub

shape.emitters eventhubs: one message per event (body = the event JSON; content type application/json, or application/cloudevents+json with --envelope cloudevents), the idempotency key <table>/<seq> as the property shape_key (plus shape_table, shape_seq). Events are packed into service batches by size, one table per batch, with the table as the partition key (partition_key="none" to let the service spread them). emit returns after the service accepted every batch; a throttled service (server-busy) is waited for, any other send failure is retried by the runtime. Event Hubs does not deduplicate: keep the first message of each shape_key. See docs/EMIT.md.

Tests: contract tests run on every PR against an in-memory hub (shape_eventhubs.testing.FakeHub, FakeProducerHub; the emitter contract is shape.streaming.emit.contract); pytest -m emulator plugins/shape-eventhubs/tests runs the end-to-end tests against the Event Hubs emulator (docker compose -f ci/emulators/docker-compose.yml up -d --wait azurite eventhubs; amd64 only), nightly in CI. Against live Azure resources, the live marker runs plugins/shape-eventhubs/tests/test_live.py with the owner's EVENTHUBS_* secrets (EVENTHUBS_CONNECTION_STRING, EVENTHUBS_HUB, optionally EVENTHUBS_GROUP; plan section 9, O-03); the nightly job runs it only where they exist.

Its version always equals core's (sqllocks-shape), and it is released together with core. How plugins are written: docs/plugins/authoring.md in the repository.

Metadata

Release files for sqllocks-shape-eventhubs 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sqllocks-shape-eventhubs 0.9.1
File Size Uploaded Provenance
sqllocks_shape_eventhubs-0.9.1.tar.gz 25.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sqllocks-shape-eventhubs 0.9.1
File Interpreter ABI Platform
sqllocks_shape_eventhubs-0.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 42.6 kB

Release files / sqllocks_shape_eventhubs-0.9.1.tar.gz

Download URL sqllocks_shape_eventhubs-0.9.1.tar.gz
Size 25.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6c4491e626b882cf873703ec9d94cebed1911a435ba04322d93fad02e836dd61
BLAKE2b-256 checksum
How to use checksums
bb4abe232fcedd0192914a8cd1c5c5d56abadcd9b6e2ef54c850f67d28e36e96
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 11, 2026.

Transparency log

Release files / sqllocks_shape_eventhubs-0.9.1-py3-none-any.whl

Download URL sqllocks_shape_eventhubs-0.9.1-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93679a16ff4f2fc780c180e81a2f58c0b53b70ab88900a27f9640c06a17b9762
BLAKE2b-256 checksum
How to use checksums
a37d460486a512362c31d3b93d7e645aab36eb8c2b47b85e3216dd7e1f75c61f
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 11, 2026.

Transparency log

Security for sqllocks-shape-eventhubs 0.9.1

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 sqllocks_shape_eventhubs-0.9.1.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 11, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.9.1 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