Skip to main content

Execute pipelines based on files and containers.

Project description

Proceed

Declarative file processing with YAML and containers.

Proceed is a Python library and CLI tool for declarative batch processing. It reads a pipeline specification declared in YAML. A pipeline contains a list of steps that are based on Docker images and containers.

Each pipeline execution accepts values for declared args, allowing controlled, explicit configuration of steps at runtime. Each execution produces an execution record that accounts for accepted arg values, step logs, and checksums of input and output files.

Hopefully, Proceed will allow you to express everything you need to know about your processing pipeline in a "nothing up my sleeves" way. The pipeline specification should be complete enough to share with others who have Proceed and Docker installed. The execution record should allow for auditing of expected outcomes and reproducibility.

docs

Here are the main docs for Proceed.

Installation

Proceed requires Python and Docker to be installed. With those, it should be able to run a wide variety pipelines and steps via containers.

pip

Proceed itself is available on PyPI. This is the recommended way to install Proceed:

$ pip install proceed

git and pip

You can also install Proceed from source.

$ pip install git+https://https://github.com/benjamin-heasly/proceed.git

# editable mode
$ git checkout https://github.com/benjamin-heasly/proceed.git
$ pip install -e ./proceed

check installation

You can check if Proceed installed correctly using the proceed command.

$ proceed --version
Proceed x.y.z

$ proceed --help
usage etc...

development and testing

You can set up a development environment with conda and dev-environment.yml.

conda env create -f dev-environment.yml
# or
conda env update -f dev-environment.yml

With that, you should be able to run through the Proceed unit and integration tests.

conda activate proceed-dev
hatch run test:cov

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

proceed-0.0.12.tar.gz (40.7 kB view details)

Uploaded Source

Built Distribution

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

proceed-0.0.12-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file proceed-0.0.12.tar.gz.

File metadata

  • Download URL: proceed-0.0.12.tar.gz
  • Upload date:
  • Size: 40.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.3"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1018-azure"}} HTTPX2/2.4.0

File hashes

Hashes for proceed-0.0.12.tar.gz
Algorithm Hash digest
SHA256 2c656af7b602f8e257350eca0c75fe4d066ebf56eab07b2c2c3f847dea3503e6
MD5 81017259697289f0c540daedf6e56014
BLAKE2b-256 855c4bc33e8c0cf1b3116b49511118bf7d9f6a32015ae92a111cc841bf7bdef2

See more details on using hashes here.

File details

Details for the file proceed-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: proceed-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 26.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.3"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1018-azure"}} HTTPX2/2.4.0

File hashes

Hashes for proceed-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 b45780f6f7b395b9ab2f2842f8ff4a2e48192a3a7d7696dff60810858529fdbe
MD5 4e20d8a331d046cdece81324052a7064
BLAKE2b-256 ccbdc4f5fda7e6d269aa9927a99cbf307c12f2d9bd0ab18e50ebf15e67940504

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