step-exec-lib
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
BuildStepprovides a set of step names it is associated with in thesteps_providedproperty. These steps are used for filtering with--steps/--skip-stepscommand line options. initialize_configprovides additional config options a specific class delivered fromBuildStepwants to provide.pre_runis optional and should be used for validation and assertions.pre_runsof allBuildStepsare executed before anyrunmethod is executed. Its purpose is to allow theabsto quit with error even before any actual build or tests are done. The method can't be blocking and should run fast. Ifpre_stepof anyBuildStepfails,runmethods of allBuildStepsare skipped.runis the method where actual long-running actions of theBuildStepare executed.cleanupis an optional method used to clean up resources that might have been needed byrunbut can't be cleaned up until allrunshave executed.cleanupsare called after anyrunfailed 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| step_exec_lib-0.4.2.tar.gz | 13.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.