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.jsonFollow these instructions to contribute to this project.
pipx install poetry
poetry installCreate tests within the tests subfolder and
then run:
poetry run pytestYou can also test the tap-egencia CLI interface directly using poetry run:
poetry run tap-egencia --helpNext, 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 installNow 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-jsonlSee 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.