Skip to main content

NovaPipe: An advanced, plugin-driven ETL CLI tool

Project description

NovaPipe

PyPI version
Build Status
Coverage Status
Documentation Status
License: MIT


NovaPipe — lightweight, plugin-driven ETL & orchestration for Python.

🎯 Quickstart

Install from PyPI:

pip install novapipe

Create pipeline.yaml:

tasks:
  - name: extract
    task: extract_data
    params:
      source: "s3://my-bucket/input.csv"

  - name: transform
    task: transform_data
    params:
      input_path: "{{ extract }}"
    depends_on:
      - extract

  - name: load
    task: load_data
    params:
      path: "{{ transform }}"
    depends_on:
      - transform

Run it:

novapipe run pipeline.yaml \
  --var environment=prod \
  --summary-json summary.json \
  --metrics-port 8000

View a human-friendly report:

novapipe report summary.json

🚀 Features

Category Features
Core CLI init, run, inspect, describe, tutorial, dag, report, playground
Plugin Mgmt. Scaffold, list (with filters), CI-template, version-gating
Pipeline Modeling run_if/run_unless, branches, skip-downstream, retries, timeouts, ignore-failures
Execution Engine Async/sync, layered parallelism, resource tagging, rate-limit
Templating & Context Jinja2 with built-ins, multi-output unpacking, CLI vars, interactive REPL
Resource & Env CPU/memory caps, rate limits, env injection
Observability Structured logging, JSON summary, human report, Prometheus metrics
Testing & CI/CD Unit & integration tests, plugin + repo CI templates

📖 Documentation

Full docs and examples are hosted on ReadTheDocs:

https://novapipe.readthedocs.io/


💡 Getting Help


🤝 Contributing

  1. Fork & clone
  2. poetry install (or pip install -e .[dev])
  3. Create a feature branch, commit, and open a PR
  4. Ensure tests pass: pytest

See CONTRIBUTING.md & CODE_OF_CONDUCT.md for details.


📜 License

MIT © Muqtar Shaikh

  1. Replace badge URLs with your actual GitHub org/repo and PyPI project names.
  2. Link the Quickstart to real example pipelines in your examples/ folder.
  3. Populate the “Features” table with any additional items as you add them.

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

novapipe-1.0.0.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

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

novapipe-1.0.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file novapipe-1.0.0.tar.gz.

File metadata

  • Download URL: novapipe-1.0.0.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for novapipe-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ea4fce54a75cbf8b65258f0d2953bf4a5bbea349a3f34f51ea46b5348398554b
MD5 ccd82391d25c1d2119980172e3e1e1a1
BLAKE2b-256 9fec9d6e9680e4cf7717cb205c6868a0b3dc911879aad3232a49b98fc3bd9129

See more details on using hashes here.

File details

Details for the file novapipe-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: novapipe-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for novapipe-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d86979c29353ad535336f550276c83e74d396670d98875c51e052f6988bbb66e
MD5 4c7e7f2acf4188f0eac457f9abcb1f1e
BLAKE2b-256 328931795bac1c41eb4e8c23474bb9c5ce69f6d9511328ca53516abbe3ca8faa

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