Project: pipelinewise-singer-python

Singer.io utility library - PipelineWise compatible

Project Details

Latest version
2.0.1
Home Page
https://github.com/transferwise/pipelinewise-singer-python
PyPI Page
https://pypi.org/project/pipelinewise-singer-python/

Project Popularity

PageRank
0.005005363314019996
Number of downloads
190394

pipelinewise-singer-python

PyPI version PyPI - Python Version License: MIT

Writes the Singer format from Python.

This is a fork of Singer's singer-python made for PipelineWise.

Usage

Setup environment

This library depends on python3. We recommend using a virtualenv like this:

python3 -m venv ~/.virtualenvs/singer-python

Installation

Next, install this library:

source ~/.virtualenvs/singer-python/bin/activate
git clone http://github.com/singer-io/singer-python
cd singer-python
make install

Usage example

Now, from python code within the same virtualenv, you can use the library:

import singer

singer.write_schema('my_table',
	            {'properties':{'id': {'type': 'string', 'key': True}}},
		    ['id'])
singer.write_records('my_table',
                     [{'id': 'b'}, {'id':'d'}])
singer.write_state({'my_table': 'd'})

Logging configuration

pipelinewise-singer-python by default doesn't use any predefined logging configuration, it's up to the calling library to define it. However, if the environment variable LOGGING_CONF_FILE is found and set then the pipelinewise-singer-python would use the path provided in the env variable as the logging configuration for the logger.

License

Distributed under the Apache License Version 2.0