Skip to main content

Write maintainable, production-ready pipelines using Jupyter or your favorite text editor. Develop locally, deploy to the cloud.

Project description

CI Linux CI macOS CI Windows Documentation Status PyPI Conda (channel only) Conda Coverage Twitter Binder Downloads

Join our community | Newsletter | Contact us | Docs | Blog | Website | YouTube

Notebooks are hard to maintain. Teams often prototype projects in notebooks, but maintaining them is an error-prone process that slows progress down. Ploomber overcomes the challenges of working with .ipynb files allowing teams to develop collaborative, production-ready pipelines using JupyterLab or any text editor.

Get Started Open JupyerLab

Installation

Compatible with Python 3.6 and higher.

Install with pip:

pip install ploomber

Or with conda:

conda install ploomber -c conda-forge

Getting started

Use Binder to try out Ploomber without setting up an environment:

image

Or run an example locally:

# ML pipeline example
ploomber examples -n templates/ml-basic -o ml-basic
cd ml-basic

# if using pip
pip install -r requirements.txt

# if using conda
conda env create --file environment.yml
conda activate ml-basic

# run pipeline
ploomber build

Pipeline output saved in the output/ folder. Check out the pipeline definition in the pipeline.yaml file.

To get a list of examples, run ploomber examples.

Click here to go to our examples repository.

Community

Main Features

  1. Automated notebook refactoring. Automatically convert a legacy notebook into a maintainable, modular pipeline (see demo).
  2. Scripts as notebooks. Open .py files as notebooks, then execute them from the terminal and generate an output notebook to review results.
  3. Dependency resolution. Quickly build a DAG by referring to previous tasks in your code; Ploomber infers execution order and orchestrates execution.
  4. Incremental builds. Speed up iterations by skipping tasks whose source code hasn't changed since the last execution.
  5. Production-ready. Deploy to Kubernetes (via Argo Workflows), Airflow, and AWS Batch without code changes.
  6. Parallelization. Run independent tasks in parallel.
  7. Testing. Import pipelines in any testing frameworks and test them with any CI service (e.g. GitHub Actions).
  8. Flexible. Use Jupyter notebooks, Python scripts, R scripts, SQL scripts, Python functions, or a combination of them as pipeline tasks. Write pipelines using a pipeline.yaml file or with Python.

repo-lab-example

Resources

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

ploomber-0.14.5.tar.gz (232.9 kB view details)

Uploaded Source

Built Distribution

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

ploomber-0.14.5-py3-none-any.whl (282.5 kB view details)

Uploaded Python 3

File details

Details for the file ploomber-0.14.5.tar.gz.

File metadata

  • Download URL: ploomber-0.14.5.tar.gz
  • Upload date:
  • Size: 232.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.2.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for ploomber-0.14.5.tar.gz
Algorithm Hash digest
SHA256 0359b78c25c874b99332d1d5740ffc957f3b2b6bb558a82f51c53bfc350be266
MD5 3d022b21bfccea9b0033394b9fb838e0
BLAKE2b-256 eed91956f6f388eecfc185e8114f538ae10f7af9b2d1f5870a901008a2ccd9c2

See more details on using hashes here.

File details

Details for the file ploomber-0.14.5-py3-none-any.whl.

File metadata

  • Download URL: ploomber-0.14.5-py3-none-any.whl
  • Upload date:
  • Size: 282.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.2.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for ploomber-0.14.5-py3-none-any.whl
Algorithm Hash digest
SHA256 12a4ce19bdafe9df0511f468ac9dfa7e7ab4f9f2764f71c237d3cc846ad77584
MD5 0c925243e88060100f7d598873605673
BLAKE2b-256 82c9d500921e4e660bbea83227390c9bb1bb20088b5ea63fdd7c6c71f9d6abf5

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