Runs Singer.io taps and targets, adding additional tooling.
Project description
singer-runner
Singer Runner manages tap and target processes, as well as metrics, state, and configuration.
Features
- Run a tap or target
- Pass run options via CLI paramters or JSON/YAML config file.
- Use local file system or S3 for piping the singer stream, storing state, and storing metrics.
- Metric storage, piping, and state storage can be extended / customized by inheriting from the base classes.
Usage
Requires python 3, tested with python 3.7
Install
git clone git@github.com:datamill-co/singer-runner.git
cd singer-runner
virtualenv -p python3 env
source env/bin/activate
pip install -e .
Run
$ singer-runner
Usage: singer-runner [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
run-tap
run-target
Concepts
- Pipes
- Pipes move a stream of Singer messages from tap to target. A pipe could be as simple as a local file, a file in S3, or Kafka.
- State Storage
- Loads/saves the state JSON.
- Metrics Storage
- Accepts a stream of Singer Metrics
Programmatic Usage
Singer runner can be used within any python application. The primary functions are in singer_runner.runner
including:
run_tap
runs a taprun_target
runs a target
Classes in the singer_runner.metrics
, singer_runner.pipes
, and singer_runner.state
can be used as arguemnts, along with catalog/config.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
singer-runner-0.0.1.tar.gz
(7.1 kB
view hashes)
Built Distribution
Close
Hashes for singer_runner-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 151bdb444289a9ebaff13807b6c40be7fa807e9c54599e2c29efd916102cb81b |
|
MD5 | bca688ff5a104060736f2762b02feb15 |
|
BLAKE2b-256 | 9a743197bb367a0d14317386c27619067fa6e154237cea3086dd6aad60f70530 |