Skip to main content

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.yaml files
  • 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

airbyte_connector_models-0.1.2.tar.gz (160.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

airbyte_connector_models-0.1.2-py3-none-any.whl (82.9 kB view details)

Uploaded Python 3

File details

Details for the file airbyte_connector_models-0.1.2.tar.gz.

File metadata

  • Download URL: airbyte_connector_models-0.1.2.tar.gz
  • Upload date:
  • Size: 160.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for airbyte_connector_models-0.1.2.tar.gz
Algorithm Hash digest
SHA256 24ade66f5cd1da8980de9b3e2287b9a6f08d36b38e760b1d9878b521124caf24
MD5 fb7d094541466119027c3c585e1fe648
BLAKE2b-256 68d223d1e43f218bf94a5373c69bbef4b34e0db5ca8fdd8d75dd4301dc84629d

See more details on using hashes here.

Provenance

The following attestation bundles were made for airbyte_connector_models-0.1.2.tar.gz:

Publisher: publish.yml on airbytehq/airbyte-connector-models

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file airbyte_connector_models-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for airbyte_connector_models-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 050aeae4cc765564b5efccf6617a4fbca50dfee7f0d20768dc767bd9fa67f6d3
MD5 37ae0b8fdcb85d3d5fa88e222d1a2b5b
BLAKE2b-256 9f12dd0f01af559e4f77da488034c55de7667ab7a7cdd1e4ed03913bc12319f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for airbyte_connector_models-0.1.2-py3-none-any.whl:

Publisher: publish.yml on airbytehq/airbyte-connector-models

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page