Typed Pydantic models for Airbyte connectors
Project description
Airbyte Connector Models
Typed Pydantic models for Airbyte connectors, providing type-safe configuration and record handling.
Overview
This package provides automatically generated Pydantic models for:
- Config Models: Type-safe configuration for all Airbyte connectors
- Record Models: Typed records for all source connector streams
- Metadata Models: Models used in
metadata.yamlfiles - Registry Models: Modules used by the Airbyte Connector Registry
Models are generated nightly from the latest connector specifications and schemas.
Installation
pip install airbyte-connector-models
Usage
Config Models
from airbyte_connector_models.connectors.postgres.source.config import SourcePostgresConfigSpec
import airbyte as ab # Optional import if using with PyAirbyte
# Type-safe config
config = SourcePostgresConfigSpec(
host="localhost",
port=5432,
database="mydb",
username="user",
password="pass"
)
# Use with PyAirbyte (optional)
source = ab.get_source("source-postgres", config=config)
Record Models
Note: Below is planned functionality (not yet available).
from airbyte_connector_models.connectors.postgres.source.records import PostgresUsersRecord
import airbyte as ab
source = ab.get_source("source-postgres", config=config)
source.select_streams(["users"])
# Get typed records
for record in source.get_records("users", as_model=PostgresUsersRecord):
print(f"User: {record.name}, Email: {record.email}")
# Access extra properties ergonomically
if hasattr(record, "custom_field"):
print(f"Custom: {record.custom_field}")
Features
- Type Safety: Full type hints for IDE autocomplete and type checking
- Additional Properties: Ergonomic access to extra fields not in the schema
- Minimal Normalization: Field names preserve original casing, only illegal characters are replaced
- Validation: Automatic validation of configs and records using Pydantic
- Nightly Updates: Models are regenerated nightly to stay in sync with connector changes
Structure
airbyte_connector_models/
├── connectors/
│ ├── github/
│ │ ├── source/
│ │ │ ├── configuration.py # SourceGitHubConficSpec
│ │ │ ├── configuration.json # JSON Schema Spec
│ │ │ └── records/ # Module containing record model specifications
│ │ └── destination/
│ │ │ ├── configuration.py # DestinationGitHubConficSpec
│ │ │ ├── configuration.json # JSON Schema Spec
│ └── ...
Contributing
See the Contributing Guide
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file airbyte_connector_models-0.1.6.tar.gz.
File metadata
- Download URL: airbyte_connector_models-0.1.6.tar.gz
- Upload date:
- Size: 179.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a94932129530f4f48e7902dd104675fabc0734fed851c0eb2d1df7299793ac8
|
|
| MD5 |
793b384dad25aa7b9649ca716058ea14
|
|
| BLAKE2b-256 |
b9eab4a204a191586e5f62a680bb3cdf16436bfb900ae5e7b0c2f161695c19bd
|
Provenance
The following attestation bundles were made for airbyte_connector_models-0.1.6.tar.gz:
Publisher:
publish.yml on airbytehq/airbyte-connector-models
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
airbyte_connector_models-0.1.6.tar.gz -
Subject digest:
3a94932129530f4f48e7902dd104675fabc0734fed851c0eb2d1df7299793ac8 - Sigstore transparency entry: 1396082938
- Sigstore integration time:
-
Permalink:
airbytehq/airbyte-connector-models@09c887773dfecc76e733aa3cf8f7af65861d5de3 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/airbytehq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@09c887773dfecc76e733aa3cf8f7af65861d5de3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file airbyte_connector_models-0.1.6-py3-none-any.whl.
File metadata
- Download URL: airbyte_connector_models-0.1.6-py3-none-any.whl
- Upload date:
- Size: 88.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e8cd568ab08a64a3730a7739609c57d99df114f2dedf3950071873e793795fd
|
|
| MD5 |
8c2e733bc2412fb561578b2153966088
|
|
| BLAKE2b-256 |
eebee48521534b4bf2207068519b07130d8cd5ded2c6d12898237d4d77d26a82
|
Provenance
The following attestation bundles were made for airbyte_connector_models-0.1.6-py3-none-any.whl:
Publisher:
publish.yml on airbytehq/airbyte-connector-models
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
airbyte_connector_models-0.1.6-py3-none-any.whl -
Subject digest:
8e8cd568ab08a64a3730a7739609c57d99df114f2dedf3950071873e793795fd - Sigstore transparency entry: 1396082941
- Sigstore integration time:
-
Permalink:
airbytehq/airbyte-connector-models@09c887773dfecc76e733aa3cf8f7af65861d5de3 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/airbytehq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@09c887773dfecc76e733aa3cf8f7af65861d5de3 -
Trigger Event:
release
-
Statement type: