Step 2: Install dependencies
Let's create a python virtual environment for our source. You can do this by executing the following commands from the root of the Airbyte repository.
The command below assume that python
points to a version of python >=3.9.0. On some systems, python
points to a Python2 installation and python3
points to Python3.
If this is the case on your machine, substitute the python
commands with python3
.
The subsequent python
invocations will use the virtual environment created for the connector.
cd ../../connectors/source-exchange-rates-tutorial
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
These steps create an initial python environment, and install the dependencies required to run an API Source connector.
Let's verify everything works as expected by running the Airbyte spec
operation:
python main.py spec
You should see an output similar to the one below:
{"type": "SPEC", "spec": {"documentationUrl": "https://docsurl.com", "connectionSpecification": {"$schema": "http://json-schema.org/draft-07/schema#", "title": "Python Http Tutorial Spec", "type": "object", "required": ["TODO"], "additionalProperties": false, "properties": {"TODO: This schema defines the configuration required for the source. This usually involves metadata such as database and/or authentication information.": {"type": "string", "description": "describe me"}}}}}
This is a simple sanity check to make sure everything is wired up correctly.
More details on the spec
operation can be found in Basic Concepts and Defining Stream Schemas.
For now, note that the main.py
file is a convenience wrapper to help run the connector.
Its invocation format is python main.py <command> [args]
.
The module's generated README.md
contains more details on the supported commands.
Next steps
Next, we'll connect to the API source
More readings
- Basic Concepts
- Defining Stream Schemas
- The module's generated
README.md
contains more details on the supported commands.