Airbyte Python CDK is a framework for building Airbyte API Source Connectors. It provides a set of classes and helpers that make it easy to build a connector against an HTTP API (REST, GraphQL, etc), or a generic Python source connector.
If you're looking to build a connector, we highly recommend that you first
start with the Connector Builder.
It should be enough for 90% connectors out there. For more flexible and complex connectors, use the
low-code CDK and SourceDeclarativeManifest.
For more information on building connectors, please see the Connector Development guide on docs.airbyte.com.
Airbyte CDK code is within airbyte_cdk directory. Here's a high level overview of what's inside:
airbyte_cdk/connector_builder. Internal wrapper that helps the Connector Builder platform run a declarative manifest (low-code connector). You should not use this code directly. If you need to run aSourceDeclarativeManifest, take a look atsource-declarative-manifestconnector implementation instead.airbyte_cdk/cli/source_declarative_manifest. This module defines thesource-declarative-manifest(aka "SDM") connector execution logic and associated CLI.airbyte_cdk/destinations. Basic Destination connector support! If you're building a Destination connector in Python, try that. Some of our vector DB destinations likedestination-pineconeare using that code.airbyte_cdk/modelsexposeairbyte_protocol.modelsas a part ofairbyte_cdkpackage.airbyte_cdk/sources/concurrent_sourceis the Concurrent CDK implementation. It supports reading data from streams concurrently per slice / partition, useful for connectors with high throughput and high number of records.airbyte_cdk/sources/declarativeis the low-code CDK. It works on top of Airbyte Python CDK, but provides a declarative manifest language to define streams, operations, etc. This makes it easier to build connectors without writing Python code.airbyte_cdk/sources/file_basedis the CDK for file-based sources. Examples include S3, Azure, GCS, etc.
For instructions on how to contribute, please see our Contributing Guide.
Please see the Release Management guide for information on how to perform releases and pre-releases.