Metadata-Version: 2.4
Name: pipelinewise-singer-python
Version: 3.0.2
Summary: Singer.io utility library - PipelineWise compatible
Home-page: https://github.com/transferwise/pipelinewise-singer-python
Author: TransferWise
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.12, <3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: wrapt>=1.14.0
Requires-Dist: pytz
Requires-Dist: jsonschema==3.2.0
Requires-Dist: orjson==3.11.8
Requires-Dist: python-dateutil>=2.6.0
Requires-Dist: backoff==2.1.2
Requires-Dist: ciso8601
Provides-Extra: dev
Requires-Dist: pylint==4.0.5; extra == "dev"
Requires-Dist: pytest==9.0.3; extra == "dev"
Requires-Dist: coverage[toml]~=6.3; extra == "dev"
Requires-Dist: ipython; extra == "dev"
Requires-Dist: ipdb; extra == "dev"
Requires-Dist: unify==0.5; extra == "dev"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

pipelinewise-singer-python
===================
[![PyPI version](https://badge.fury.io/py/pipelinewise-singer-python.svg)](https://badge.fury.io/py/pipelinewise-singer-python)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pipelinewise-singer-python.svg)](https://pypi.org/project/pipelinewise-singer-python/)
[![License: MIT](https://img.shields.io/badge/License-Apache2-yellow.svg)](https://opensource.org/licenses/Apache-2.0)

Writes the Singer format from Python.

This is a fork of [Singer's singer-python](https://github.com/singer-io/singer-python) made for [PipelineWise](https://transferwise.github.io/pipelinewise).

Usage
---

### Setup environment
This library depends on python3. We recommend using a `virtualenv` like this:

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

### Installation
Next, install this library:

```bash
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:

```python
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
