pipelinewise-singer-python
Singer.io utility library - PipelineWise compatible
What it is and what it does
pipelinewise-singer-python is a Python library that implements the Singer protocol for writing standardized data records. It's a maintained fork of the original Singer library, adapted for use within PipelineWise data pipelines. The package provides functions to write schemas, records, and state information in Singer format—a line-delimited JSON standard used in data extraction and loading workflows.
The library depends on common utilities like jsonschema for validation, orjson for fast JSON serialization, and backoff for retry logic. It's designed to be used within a Python environment (typically a virtualenv) to emit Singer-formatted output that downstream tools can consume. The package supports optional logging configuration via an environment variable, allowing callers to integrate it into their own logging infrastructure.
Use it for:
- Build custom data extractors that emit Singer-formatted records for ingestion into PipelineWise.
- Integrate Python-based data sources into Singer-compatible ETL pipelines.
- Write schema and state metadata alongside record data in a standardized format for data synchronization.
- Extend PipelineWise tap connectors with Python logic that outputs Singer protocol messages.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Writes data in Singer format from Python, enabling standardized data pipeline integration compatible with PipelineWise.
Yes, if you are building or extending PipelineWise data pipelines and need to emit Singer-formatted output from Python. The package is actively maintained, has low install friction, and carries a permissive license. The narrow Python version constraint (3.12–3.13) is a significant limitation if your project targets a wider range; verify compatibility with your environment before committing.
Install
pipelinewise-singer-python on PyPI
pip
pip install pipelinewise-singer-pythonuv
uv add pipelinewise-singer-pythonpoetry
poetry add pipelinewise-singer-pythonInstalling pipelinewise-singer-python
Before you install
Low install friction with a pure-Python wheel and seven common dependencies. Active maintenance with a recent release, though the repository has modest visibility (8 stars).
License in practice
Permissive Apache License 2.0 allows commercial and private use with minimal restrictions.
Quickstart
pip install pipelinewise-singer-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'})
Requires Python 3.12 or 3.13 (capped_below_current); earlier or later versions will not work.
Verify before relying
- Whether the narrow Python version range (3.12–3.13) is intentional or a packaging constraint that may be relaxed.
- How actively the PipelineWise fork diverges from the upstream singer-python project and whether upstream fixes are backported.
Package facts
| License | not declared (permissive) |
| Python support | capped below the current Python release (<3.13,>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — wrapt, pytz, jsonschema, orjson, python-dateutil, backoff, ciso8601 |
| Maintenance | actively maintained — 114 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 934,899/month — #4,695 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pipelinewise_singer_python-3.0.2-py3-none-any.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
singer-sdkBuilds Singer-compliant data extraction taps…
permissive · top 5,000 on PyPI
meltanolabs-target-snowflakeA Singer target that loads data into Snowflake…
permissive · top 15,000 on PyPI
open-data-contract-standardReads and writes YAML files conforming to the…
permissive · top 5,000 on PyPI
audiofileReads and writes audio files across formats…
permissive · top 15,000 on PyPI
hops-deltalakeReads and writes Delta Lake tables with native…
permissive · top 15,000 on PyPI
meltanoMeltano is a declarative, code-first data…
permissive · top 15,000 on PyPI
fivetran-connector-sdkBuild and deploy custom Python data connectors…
permissive · top 15,000 on PyPI
awswranglerAWS SDK for pandas integrates pandas DataFrames…
permissive · top 1,000 on PyPI
dagster-snowflakeIntegrates Snowflake with Dagster's data…
permissive · top 15,000 on PyPI
pipenvPipenv automates Python virtual environment…
permissive · top 1,000 on PyPI