Singer tap for the Egencia REST API
tap-egencia
is a Singer tap for egencia.
Built with the Meltano Tap SDK for Singer Taps.
List of tap-egencia config values
start_date: ${TAP_EGENCIA_START_DATE}
required: false
end_date: ${TAP_EGENCIA_END_DATE}
required: false
egencia_base_url: ${TAP_EGENCIA_EGENCIA_BASE_URL}
required: true
client_id: ${TAP_EGENCIA_EGENCIA_CLIENT_ID}
required: true
client_secret: ${TAP_EGENCIA_EGENCIA_SECRET_ID}
required: true
This Singer tap will automatically import any environment variables within the working directory's
.env
if the --config=ENV
is provided, such that config values will be considered if a matching
environment variable is set either in the terminal context or in the .env
file.
Egencia API requies OAuth authentication. client_Id & client_secret passed as configs are required for authentication.
You can easily run tap-egencia
by itself or in a pipeline using Meltano.
tap-egencia --version
tap-egencia --help
tap-egencia --config CONFIG --discover > ./catalog.json
Follow these instructions to contribute to this project.
pipx install poetry
poetry install
Create tests within the tests
subfolder and
then run:
poetry run pytest
You can also test the tap-egencia
CLI interface directly using poetry run
:
poetry run tap-egencia --help
Next, install Meltano (if you haven't already) and any needed plugins:
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-egencia
meltano install
Now you can test and orchestrate using Meltano:
# Test invocation:
meltano invoke tap-egencia --version
# OR run a test `elt` pipeline:
meltano run tap-egencia target-jsonl
See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.
Singer taps require schema declaration for extraction. If fields pulled from the API are not listed in the schema documentation the extraction will throw an error. However default behavior for listed schema values are set to require=false
. Expected output values have been added to the transaction stream schema which do not show up in the current extraction job but however may down the line. consider this when building future tap streams.
Schema creation can be be found under ./Schema
using the CustomObject
util to structure the schema to the Singer data structure requirement.