Skip to main content

step-exec-lib

build codecov PyPI Version Python Versions Apache License

A simple library to easily orchestrate a set of Steps into a filtrable pipeline.

Disclaimer: docs are still work-in-progress!

Each step provides a defined set of actions. When a pipeline is execute first all pre actions of all Steps are executed, then run actions and so on. Steps can provide labels, so you can easily disable/enable a subset of steps.

A ready to use python app template. Based on pipenv.

How to use the library

BuildStep

The most important basic class is BuildStep. The class is abstract and you have to inherit from it to provide any actual functionality. The most important methods and properties of this class are:

  • Each BuildStep provides a set of step names it is associated with in the steps_provided property. These steps are used for filtering with --steps/--skip-steps command line options.
  • initialize_config provides additional config options a specific class delivered from BuildStep wants to provide.
  • pre_run is optional and should be used for validation and assertions. pre_runs of all BuildSteps are executed before any run method is executed. Its purpose is to allow the abs to quit with error even before any actual build or tests are done. The method can't be blocking and should run fast. If pre_step of any BuildStep fails, run methods of all BuildSteps are skipped.
  • run is the method where actual long-running actions of the BuildStep are executed.
  • cleanup is an optional method used to clean up resources that might have been needed by run but can't be cleaned up until all runs have executed. cleanups are called after any run failed or all of them are done.

BuildStepsFilteringPipeline

BuildStep class provides the steps_provided property, but is not in control of whether it should be executed or not and when. BuildSteps have to be assembled into pipelines. The basic pipeline in BuildStepsFilteringPipeline, which allows you to make a sequential pipeline out of your steps and filter and skip them according to steps_provided they return and command line options --steps/--skip-steps. Each major part of abs execution is combined into a pipeline, like HelmBuildFilteringPipeline used to execute build pipeline with Helm 3 or PytestTestFilteringPipeline which is used to execute tests using pytest once the build pipeline is done.

Metadata

Release files for step-exec-lib 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for step-exec-lib 0.4.2
File Size Uploaded Provenance
step_exec_lib-0.4.2.tar.gz 13.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for step-exec-lib 0.4.2
File Interpreter ABI Platform
step_exec_lib-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 27.9 kB

Release files / step_exec_lib-0.4.2.tar.gz

Download URL step_exec_lib-0.4.2.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2e166b1487ed798b1e559753c263320e8be8ace053d08b60a32bd4117d96f25d
BLAKE2b-256 checksum
How to use checksums
60eda75075558f34d01ba5afad1d7822639921b876063f668d1fce2e5517afdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / step_exec_lib-0.4.2-py3-none-any.whl

Download URL step_exec_lib-0.4.2-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f8fa607d347261546ceced36606f8ab2769dcff0ee5104961b2c1160c617c07
BLAKE2b-256 checksum
How to use checksums
f33f5a443700216a22f16245d3a4f2d7ac5eef931c25a611a044de878247ab9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for step-exec-lib 0.4.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page