Tap Core
Singer tap core provide safe tools to easily build new taps following the Singer spec convention and protocol.
How to use it
tap-core is a Singer Tap which intend to work with regular Singer Tap.
The Goal is to use this package as a foundation to build other taps focusing on the core tools, reducing the energy spent on maintaining the common parts.
Getting started
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
Already a pro? Just edit this README.md and make it your own. Want to make it easy? Use the template at the bottom!
Install
First, make sure Python 3 is installed on your system or follow these installation instructions for Mac or Ubuntu.
It's recommended to use a venv:
Defaults
python -m venv .virtualenvs/tap-core
.virtualenvs/tap-core/bin/pip install tap-core
Alternative
python -m venv .virtualenvs/tap-core
source .virtualenvs/tap-core/bin/activate
pip install tap-core
deactivate
To run
Like any other tap that's following the singer specificiation:
tap-source | target-destination --config [config.json]
Setup the config.json file
{
"selected": ["x", "y", "z"],
"access_token": "TOKEN"
}
By providing a selected list of models, they will be enabled for sync by default.
Build the catalog
.virtualenvs/tap-core/bin/tap-core -c config_tap.json --discover > catalog.json
Select the streams to sync
Add or modify the "selected": true, in the metadata.
"stream": "teams",
"metadata": [
{
"breadcrumb": [],
"metadata": {
"selected": true,
"table-key-properties": [
"id"
],
"forced-replication-method": "INCREMENTAL",
"valid-replication-keys": [
"updated_at"
]
}
},
echo "{}" > state.json
.virtualenvs/tap-core/bin/tap-core -c config_tap.json --catalog catalog.json -s state.json \
| .virtualenvs/target-core/bin/target-core -c config_target.json
Example
python -m src.tap -c config_tap.json --discover > catalog.json
echo "{}" > state.json
python -m src.tap -c config_tap.json --catalog catalog.json -s state.json \
| .virtualenvs/target-core/bin/target-core -c config_target.json > state.json
tail -1 state.json > state.json.tmp && mv state.json.tmp state.json
Metadata
Release files for tap-core 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tap-core-0.0.3.tar.gz | 24.7 kB | Without provenance | Details for tap-core-0.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tap_core-0.0.3-py3-none-any.whl | Python 3 | none | any | Details for tap_core-0.0.3-py3-none-any.whl |
Total release size: 45.9 kB
Release files / tap-core-0.0.3.tar.gz
| Download URL | tap-core-0.0.3.tar.gz |
|---|---|
| Size | 24.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d7370d68ac43e711c192a0d5c732d3b620cc5a1222aeec2be4b0ea2723559aac
|
|
BLAKE2b-256 checksum How to use checksums |
4b59d47d3fdf69fb8bb47b5be768aa8a4d97c35b7a26e90d1de18b8ca06ea2fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / tap_core-0.0.3-py3-none-any.whl
| Download URL | tap_core-0.0.3-py3-none-any.whl |
|---|---|
| Size | 21.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1df34d7a62df1ad084063e040478b033b141e7d1f925a08ab5b1b2a045219899
|
|
BLAKE2b-256 checksum How to use checksums |
12427fefe9b13836745dd7a70cd17717157c40b5302c6cf0eb124317495ae6e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Security for tap-core 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.