1
0
mirror of synced 2025-12-25 11:06:55 -05:00
Files
airbyte/airbyte-cdk/python/source_declarative_manifest
Joe Reuter 51acc44543 Declarative source base image (#23275)
* WIP

* [ISSUE #22438] using ManifestDeclarativeSource instead of GenericManifestDeclarativeSource

* [ISSUE #22438] release/versioning and documentation

* [ISSUE #22438] adding tests

---------

Co-authored-by: maxi297 <maxime@airbyte.io>
2023-02-23 17:38:08 +00:00
..
2023-02-23 17:38:08 +00:00

Declarative manifest source

This is a generic source that takes the declarative manifest via a key __injected_declarative_manifest of its config.

Execution

This entrypoint is used for connectors created by the connector builder. These connector's spec is defined in their manifest, which is defined in the config's "__injected_declarative_manifest" field. This allows this entrypoint to be used with any connector manifest.

The spec operation is not supported because the config is not known when running a spec.

Local development

Building

You can also build the connector in Gradle. This is typically used in CI and not needed for your development workflow.

To build using Gradle, from the Airbyte repository root, run:

./gradlew airbyte-cdk:python:build

Locally running the connector

python main.py check --config secrets/config.json
python main.py discover --config secrets/config.json
python main.py read --config secrets/config.json --catalog integration_tests/configured_catalog.json

Locally running the connector docker image

Build

First, make sure you build the latest Docker image:

./gradlew airbyte-cdk:python:airbyteDocker

The docker image name and tag, respectively, are the values of the io.airbyte.name and io.airbyte.version LABELs in the Dockerfile.

Run

Then run any of the connector commands as follows:

docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-declarative-manifest:dev check --config /secrets/config.json
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-declarative-manifest:dev discover --config /secrets/config.json
docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-declarative-manifest:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json