No project description provided
Project description
Soopervisor
Soopervisor introduces the concept of a Ploomber project, which is a standard way of running Ploomber pipelines.
Use cases
Running a pipeline locally
Running a pipeline in a continuous integration service
Scheduling a pipeline using cron (or Github Actions)
Running in Kubernetes via Argo workflows
Running in Apache Airflow
How it works
When running a pipeline, Soopervisor expects the following file layout:
environment.yml: Conda environment specification
pipeline.yaml: Ploomber pipeline specification
The parent folder to all these files is defined as the project’s root folder. The name of such folder is designed as the project’s name.
For example if your pipeline.yaml is located at /path/to/projects/some-project/pipeline.yaml, your project’s root folder is /path/to/projects/some-project and your project’s name is some-project.
If your project follows these two conventions, you’ll be able to use Soopervisor to run your project locally, continuous integration service or Apache Airflow.
Project validation
Before building/exporting your project, Soopervisor first checks that the project has the right structure, if it finds any issues, it reports them so you can fix them before you attempt to run the pipeline.
If all checks pass, it generates a bash script to install the conda environment and then run the pipeline.
How the script is used to actually execute the pipeline depends on your configuration settings, the simplest case is to just run it locally, but you can also tell Soopervisor to run the pipeline inside a Docker container or to just export your project to run in Kubernetes (using Argo) or Airflow.
Installation
pip install soopervisor
CHANGELOG
0.3 (2021-01-24)
env.airflow.yaml optional when exporting to Airflow (#17)
Validating exported argo YAML spec
Output argo YAML spec displays script in literal mode to make it readable
Fixed extra whitespace in generated script
Refactors ArgoMountedVolume to provide flexibility for different types of k8s volumes
Adds section in the documentation to run examples using minikube
Adds a few echo statements to generated script to provide better status feedback
0.2.2 (2020-11-21)
Adds ability to skip dag loading during project validation
Box uploader imported only if needed
Exposes option to skip dag loading from the CLI
0.2.1 (2020-11-20)
Adds Airflow DAG export
Adds Argo/Kubernetes DAG export
Support for uploading products to Box
0.2 (2020-10-15)
Adds DockerExecutor
Products are saved in a folder with the name of the current commit by default
Conda environments are created locally in a .soopervisor/ folder
Conda environments are cached by default
Ability to customize arguments to ploomber build
0.1 (2020-08-09)
First release
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 Distributions
Built Distribution
Hashes for soopervisor-0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bad68bd2aaac270452e47b2885d695c6202760a246fa1694c267519ab770fc1f |
|
MD5 | 34c4c4cdfb6de89bbb939a3007457b0a |
|
BLAKE2b-256 | abc252ab03bcb1930de952a9c65617ff639b1aafdb573466fc5b68eafb3fd349 |