This release is a pre-release and may not be stable for production use.
analitiq-contract-models
The Analitiq authored contract models (Pydantic) — the write/input shapes for
connectors, connections, endpoints, type-maps, streams, and pipelines. These are
the single source of truth the published JSON Schemas (schemas.analitiq.ai) are
generated from, packaged so the validator and the pipeline engine can
validate documents against the contract directly (model_validate) instead
of re-implementing its cross-field rules.
Install & use
pip install analitiq-contract-models
from analitiq.contracts.endpoints import ApiEndpointDoc
from pydantic import ValidationError
try:
ApiEndpointDoc.model_validate(doc) # structural + cross-field, offline
except ValidationError as exc:
... # every contract rule, enforced from the one source
Importing needs no environment: the package defaults DOMAIN to the public
contract host (analitiq.ai) before the models load.
What it ships
Analitiq's public contract surface — nothing internal.
The authored contract: the documents you write and Analitiq validates.
analitiq.contracts.connector—Connectoranalitiq.contracts.connection—ConnectionInputanalitiq.contracts.endpoints—ApiEndpointDoc,DatabaseEndpointDoc,DatabaseObjectanalitiq.contracts.type_map—TypeMapDocanalitiq.contracts.stream—StreamInput(+ the endpoint refs)analitiq.contracts.pipelines.config—PipelineInputanalitiq.contracts.credentials_file—CredentialsFileanalitiq.contracts.endpoint_identity—derive_db_endpoint_idanalitiq.contracts.shared— the shared building blocks those embed
The API contract: the request/response shapes of the public REST API.
analitiq.contracts.pipelines.data_sync— Data Sync API:PipelineRunRequest, the run/terminate/status responses, and the public run vocabulary (PublicRunStatus,PublicErrorCode)
The validation request contract: the arguments a validation of supplied documents takes.
analitiq.contracts.validation_requests—DocumentSet,WorkspaceDocumentSet,ValidateSingleDocumentRequest,ValidatePackageRequest,ValidateWorkspaceRequest
Each is shape and rules only. Nothing here knows how Analitiq runs a pipeline,
stores a run, or names a state internally — those live server-side and depend on
this package, never the reverse. Internal persistence/catalog variants
(*Document/*Config/*Patch/*Read, resolved-connector/catalog shapes,
auth-state) are not included.
analitiq is a PEP 420 namespace shared with
analitiq-validator.
Rule fixtures
Each rule whose record names a fixture_model ships valid and invalid example
documents with the package. rule_fixtures() loads them and
fixture_mismatch(fixture) grades one against the installed models, returning
None when the models agree:
from analitiq.contracts.shared.rule_fixtures import fixture_mismatch, rule_fixtures
mismatches = [m for m in map(fixture_mismatch, rule_fixtures()) if m]
Source of truth
These modules are the canonical Analitiq contract models — not a copy of them, and not rendered from one. The published JSON Schemas are generated from the same files, so the schemas and this package cannot drift: there is only one definition to drift from.
Versioning
analitiq-contract-models is a strict validator (extra=forbid, closed enums), so
version bumps are coordinated: a consumer on an older minor rejects a newly-added
field a producer emits. See the publishing/versioning notes in the source repo for
the major/minor/patch semantics and the consumer rollout rule.
Metadata
Release files for analitiq-contract-models 1.0.0rc27
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| analitiq_contract_models-1.0.0rc27.tar.gz | 346.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| analitiq_contract_models-1.0.0rc27-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 804.6 kB
Release files / analitiq_contract_models-1.0.0rc27.tar.gz
| Download URL | analitiq_contract_models-1.0.0rc27.tar.gz |
|---|---|
| Size | 346.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b768f9ce3db08e5c601da8a83e1f240740c67150b747793ed4aa22e66c954fdc
|
|
BLAKE2b-256 checksum How to use checksums |
d4296951f2aa6f1e0dab83767eb0db058ea23817a10d29dec655d878ee6c8c65
|
| 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 Sep 23, 2026.
Transparency logRelease files / analitiq_contract_models-1.0.0rc27-py3-none-any.whl
| Download URL | analitiq_contract_models-1.0.0rc27-py3-none-any.whl |
|---|---|
| Size | 458.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1b02f51dd318107a7f3da03fff71a6dec62d85a341ac619a336aa8cc5d34d890
|
|
BLAKE2b-256 checksum How to use checksums |
1c7d5d8c19b25f1aea373c4de974bf56bc1a9ea456b0b931e849b7da56dbbc70
|
| 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 Sep 23, 2026.
Transparency log