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

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.3
File Size Uploaded Provenance
sqllocks_shape_eventhubs-0.9.3.tar.gz 25.1 kB With provenance Details

Built distribution (wheel)

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

Total release size: 42.6 kB

Release files / sqllocks_shape_eventhubs-0.9.3.tar.gz

Download URL sqllocks_shape_eventhubs-0.9.3.tar.gz
Size 25.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7bb4ec5697abbbe2c692fe51aa4fa863b95bbf23127df129272391f78b7295fd
BLAKE2b-256 checksum
How to use checksums
c4a9cae44ff92afc896f550d6807d369a6d1b6e159a2e99fc9860f29e9f1f660
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 14, 2026.

Transparency log

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

Download URL sqllocks_shape_eventhubs-0.9.3-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5836ecb3a53705510462bfdda42fa42c6509869a150594b25c340190697aee6f
BLAKE2b-256 checksum
How to use checksums
578c7a0c35f0651dddb260daa3e2879ce1dc4fdf203dc7a712cb96e0e0684a61
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 14, 2026.

Transparency log

Security for sqllocks-shape-eventhubs 0.9.3

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.3.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 14, 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.3 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