Skip to main content

A simple and lightweight pipeline manifest writer tool for Python.

Project description

PyCairn (A simple and lightweight pipeline manifest writer tool for Python)

This is a simple and lightweight pipeline manifest writer tool for Python. It allows you to easily track the steps of your data processing pipeline, including inputs, outputs, parameters, and metrics.

Installation

You can install PyCairn using pip:

pip install pycairn

Usage

from pycairn import Artifact, Cairn

cairn = Cairn(pipeline="etl", run_id="2026-06-23T01", path="2026-06-23T01.json")

# Step 1: extract
with cairn.step("extract", params={"source": "api/v2"}) as s:
    out = run_extract()  # writes data/raw.parquet
    art = Artifact.from_path("/path/to/file", type="file-type", rows=len(out))
    s.outputs.append(art)
    s.metrics["rows"] = len(out)

# Step 2: transform
prev = cairn.output_of("extract")[0].path
with cairn.step("transform", inputs=[prev]) as s:
    df = run_transform(prev)  # writes data/clean.parquet
    s.outputs.append(Artifact.from_path("data/clean.parquet", type="parquet", rows=len(df)))
    s.metrics["null_rate"] = 0.02

...

License

This project is licensed under the MIT License - see the LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Acknowledgements

  • Inspired by the need for a simple and effective way to track data processing pipelines in Python.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycairn-0.0.1.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycairn-0.0.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file pycairn-0.0.1.tar.gz.

File metadata

  • Download URL: pycairn-0.0.1.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pycairn-0.0.1.tar.gz
Algorithm Hash digest
SHA256 7ecc36e806acb45362cdaf04aeb122d1999c10bd91d5d55e1ebb2ad21c777c12
MD5 858a7acc6b07871ab8b0dd34c8b2d158
BLAKE2b-256 32499b487141629ade1292d0dd27becb960bfda454b1353041e29ffe15af9b51

See more details on using hashes here.

File details

Details for the file pycairn-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: pycairn-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pycairn-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1bed6d8601920be896a867fda51ebfc201c668b79229b84b1cd7cc3e259c6f39
MD5 33f0c6bd98cc1f9cd1bdf68238e02d68
BLAKE2b-256 e007994d65e9cd8208eaff6b6182ee133c7d95f1d562a5c3d967b6a1d0fc9183

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page