Skip to main content

Very basic pipelining toolbox

Project description

MicroPype

A tiny package to create very basic pipeline executing command lines and/or calling python functions.

Install

pip install micropype

API

Here are the two mains functions you need:

cached_run

Use it to execute a cammand line.

Arguments:

  • cmd: Command line
  • out_files: One or a list of file path(s) that are created by the command.
  • title:(str, default: None) - A title
  • log: (str, default: None) - A path to a log file (text file)
  • versions: (dict, default: None) - A dictionnary giving all the versions that must be logged
  • raise_errors: (bool, default: True) - Wether to raise python error if the command failed (if True) or just print error in the console and continue (if False)

cached_function_call

Use it to call a python function.

Arguments:

  • func: A callable python object (function)
  • args: List of the arguments
  • out_files: One or a list of file path(s) that are created by the command.
  • title:(str, default: None) - A title
  • log: (str, default: None) - A path to a log file (text file)
  • versions: (dict, default: None) - A dictionnary giving all the versions that must be logged
  • raise_errors: (bool, default: True) - Wether to raise python error if the command failed (if True) or just print error in the console and continue (if False)

Configuration file

Command line

Example

Here is an example of simple configuration file:

{
    "steps": {
        "do_ls": true,
        "do_myfunction": false
    },
    "subconfig":  [
        {"name": "firstone", "file": "/dflf.txt", "values": [0, 3, 5, 10]},
        {"name": "firstone", "file": "/dflf.txt"},
    ]
}

And then the pipeline:

from micropipe import cached_run, cached_function_call

log = "mylog.txt"

out_f = "lsOutput.log"
cached_run(
    f"ls -lrt >> {out_f}",
    out_f,
    "Listing current folder items",
    log_f
)

cached_function_call(
    myfuntion,
    [arg1, arg2],
    [file_1, file_2],
    title=f"Executing a python function",
    log=log_f
)

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

micropype-0.3.1.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

micropype-0.3.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file micropype-0.3.1.tar.gz.

File metadata

  • Download URL: micropype-0.3.1.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.6

File hashes

Hashes for micropype-0.3.1.tar.gz
Algorithm Hash digest
SHA256 7a336ad3af9c052eefadffe62e9b807ef2470b753eb8ba21a25d148e1215fc21
MD5 eb9155c3f772fdd345a4f3bdbc6a6af1
BLAKE2b-256 47ed5c78c05a9e6ad9f403c75a9a9188ac3caec9cc5c0f45ead359f58fe2c56f

See more details on using hashes here.

File details

Details for the file micropype-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: micropype-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.6

File hashes

Hashes for micropype-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d4cdeab4e28347139a622d3e2ac039c8564309ad3998a40003ec5bc35d090854
MD5 d130596d2ae1c500d76c1825f674ed8b
BLAKE2b-256 c82e817ee903f8ac92ce389e9ac95f85f6d21542570317bd61fc656a296f05de

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