Skip to main content

Records the inputs and outputs of scripts

Project description

Build Status Documentation Status

Plumbium is a Python package for wrapping scripts so that their inputs and outputs are preserved in a consistent way and results are recorded.

Example

from plumbium import call, record, pipeline
from plumbium.artefacts import TextFile


@record()
def pipeline_stage_1(f):
    call(['/bin/cat', f.filename])


@record()
def pipeline_stage_2(f):
    call(['/bin/cat', f.filename])


def my_pipeline(file1, file2):
    pipeline_stage_1(file1)
    pipeline_stage_2(file2)


def example_pipeline():
    pipeline.run(
        'example',
        my_pipeline,
        '/my/data/directory',
        TextFile('month00/data.txt'), TextFile('month12/data.txt')
    )


if __name__ == '__main__':
    example_pipeline()

Installation

pip install plumbium

Requirements

Plumbium is tested with Python v2.7 - 3.5. Use of the MongoDB or SQLDatabase result recorders requires the installation of the pymongo or sqlalchemy modules as appropriate. Depending on your database SQLAlchemy may require additional support libraries to be installed.

Documentation

Full documentation is hosted on Read the Docs.

Contribute

Support

If you are having problems, please let me know by submitting an issue in the tracker.

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

plumbium-0.10.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

plumbium-0.10.0-py2.py3-none-any.whl (14.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file plumbium-0.10.0.tar.gz.

File metadata

  • Download URL: plumbium-0.10.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for plumbium-0.10.0.tar.gz
Algorithm Hash digest
SHA256 130f7219ed427cd7e3ba86b5a7086b226ed6393606551c593a13e1435d491cbd
MD5 991aec84ceb0d27cd54f37fbff3f2fba
BLAKE2b-256 e9d661be3e2d3a7e6460e748a1d1185e2d768e23dfd63a2250c0c0c00e61b37d

See more details on using hashes here.

File details

Details for the file plumbium-0.10.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for plumbium-0.10.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dd15aae4a35f1ffa3fd350614f3506c9892d9dd325c437bf7b6820837df54dad
MD5 679222b9f178dc37430eb5773993a016
BLAKE2b-256 bf07e0fefddd242b89e60a87260f5c84e3fd49b80812d510eeb795f3072f8e68

See more details on using hashes here.

Supported by

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