Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

analitiq-cdk

The Connector Development Kit: a vendor-neutral, transport-neutral toolbox of reusable building blocks a connector uses. It is consumed both for bulk streaming (the OSS engine reads/writes Arrow batches) and for a synchronous control-plane (discover schemas / create tables) that needs neither the columnar nor the HTTP weight.

The one rule

The dependency points engine → CDK, never back. No CDK module may import anything engine-side (src/grpc, src/state, src/models, src/source, src/engine/{engine,orchestrator,pipeline}, server.py, runner.py, main.py). Anything that must cross from engine to CDK crosses as a plain value or a CDK-owned type — never an engine object. A connectivity capability whose implementation is engine- or deployment-specific is expressed as a CDK-owned seam (Protocol / ABC) the other side implements (SecretsResolver, CheckpointStore).

What lives here

  • cdk/types.py — CDK-native value types (AckStatus, Cursor, SchemaSpec, BatchWriteResult, EndpointScope, CheckpointStore).
  • cdk/contract.py — capability Protocols (Readable, Writable, Discoverable, TableCreator, ColumnDef).
  • transports + ConnectionRuntime, the ADBC sub-registry, shared DB helpers, the query builder, the rate limiter.
  • the expression resolver + derived functions.
  • the type-map engine (type_map/).
  • the secrets seam + local/in-memory resolvers (secrets/).
  • the abstract destination base (base_handler.py).

Dependency tiers (core + extras)

The CDK ships a small required core and opt-in extras, so a consumer installs only what its role needs. The split is enforced by lazy imports: cdk.sql and cdk.type_map resolve the Arrow helpers (and the HTTP transport its aiohttp session) only on first use, so importing the core control-plane surface never pulls pyarrow/aiohttp.

Tier Pulls Surface
core (always) sqlalchemy, pydantic SQL control-plane: cdk.sql discovery + standalone create_table, ConnectionRuntime/transport seam, type-map (string surface), secrets
[arrow] pyarrow columnar streaming: schema_contract, sql_types, sql.adbc_reader, type_map.parse_arrow_type, GenericSQLConnector read/write
[api] aiohttp HTTP transport for API connectors
[streaming] pyarrow + aiohttp full connector surface the engine consumes ([arrow] + [api])
[s3] boto3 s3:// secret refs (SchemeSecretsResolver)
[conformance] pytest + pyarrow the connector conformance suite a connector repo runs in its own CI

Plus the per-driver DB package a given connector needs (asyncpg, adbc-driver-*, …).

The thin-surface entry points raise cdk.MissingExtraError (naming the extra, e.g. analitiq-cdk[arrow]) when the extra is absent, rather than a bare No module named 'pyarrow': the package-level lazy reexports (cdk.sql.AdbcReader / open_adbc_reader, cdk.type_map.parse_arrow_type / resolve_arrow_type) and the HTTP transport (build_http_transport). A genuinely-absent extra is relabelled; an unrelated or broken-install import failure (a partial build failing on a submodule, a missing transitive dep) is re-raised untouched so the real cause survives.

Directly importing a streaming module that belongs to an extra (cdk.schema_contract, cdk.sql_types, cdk.sql.adbc_reader, cdk.type_map.arrow, cdk.sql.generic, cdk.base_handler) without that extra raises a plain ImportError naming pyarrow on the import line — those modules are the extra and require it by design; a thin control-plane consumer reaches the Arrow surface only through the guarded lazy reexports above, never by importing these modules directly.

Install

Published on PyPI as analitiq-cdk. Releases are currently pre-releases, so pip needs --pre (or an exact pin).

Control-plane only (discover + create-table, no pyarrow/aiohttp):

pip install --pre analitiq-cdk

Full streaming surface:

pip install --pre "analitiq-cdk[streaming]"

The engine consumes it in-tree (it is on PYTHONPATH alongside src/) and declares pyarrow/aiohttp itself, so the bundled engine image always has the full surface regardless of the CDK's own extras.

Metadata

Release files for analitiq-cdk 0.2.0rc1

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

Source distribution (sdist)

Source distribution for analitiq-cdk 0.2.0rc1
File Size Uploaded
analitiq_cdk-0.2.0rc1.tar.gz 208.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for analitiq-cdk 0.2.0rc1
File Interpreter ABI Platform
analitiq_cdk-0.2.0rc1-py3-none-any.whl Python 3 none any Details

Total release size: 454.2 kB

Release files / analitiq_cdk-0.2.0rc1.tar.gz

Download URL analitiq_cdk-0.2.0rc1.tar.gz
Size 208.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c126c22f82c24fc5e7383a275ec672f3e3df1f5d3e5e561a3c1c020b90438284
BLAKE2b-256 checksum
How to use checksums
4134851f7d02f744ce04485f653b80c1df7e419545b8ea946eca122794a361bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 28, 2026.

Transparency log

Release files / analitiq_cdk-0.2.0rc1-py3-none-any.whl

Download URL analitiq_cdk-0.2.0rc1-py3-none-any.whl
Size 245.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5794c60263ed26ee63232999689d3da06010dbc735341f97e37a49ce755e4071
BLAKE2b-256 checksum
How to use checksums
f4a59968b2f1d0e62ea4cc47d7926fc8edd75a05055011359fb3a9dee4e0b136
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

This release

0.2.0rc1 This release

2 release files

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