Helper classes to develop executable workflow scripts
Project description
Executable Workflow
Documentation: https://namuan.github.io/py-executable-checklist
Source Code: https://github.com/namuan/py-executable-checklist
PyPI: https://pypi.org/project/py-executable-checklist/
Helper classes to develop executable workflow scripts
Installation
pip install py-executable-checklist
Example Usage
import logging
from argparse import ArgumentParser, RawDescriptionHelpFormatter
from py_executable_checklist import run_workflow, WorkflowBase
# Common functions across steps
# Workflow steps
class DoSomething(WorkflowBase):
"""
Go to this page
Copy the command
Run the command
Copy the output and paste it into the email
"""
username: str
def run(self, context):
logging.info(f"Hello {self.username}")
# output
context["greetings"] = f"Hello {context['username']}"
# Workflow definition
def workflow():
return [
DoSomething,
]
# Boilerplate
def parse_args():
parser = ArgumentParser(
description=__doc__, formatter_class=RawDescriptionHelpFormatter
)
parser.add_argument("-u", "--username", type=str, required=True, help="User name")
parser.add_argument(
"-v",
"--verbose",
action="store_true",
default=False,
dest="verbose",
help="Display context variables at each step",
)
return parser.parse_args()
def main(args):
context = args.__dict__
run_workflow(context, workflow())
if __name__ == "__main__":
args = parse_args()
main(args)
Development
- Clone this repository
- Requirements:
- Poetry
- Python 3.7+
- Create a virtual environment and install the dependencies
poetry install
- Activate the virtual environment
poetry shell
Validating build
make build
Release process
A release is automatically published when a new version is bumped using make bump
.
See .github/workflows/build.yml
for more details.
Once the release is published, .github/workflows/publish.yml
will automatically publish it to PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for py-executable-checklist-0.10.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4258899f1af2e9bbc002d9d6ba8a93639a90c302af81df4fa5b5f544443b281 |
|
MD5 | 50dc1206023c4d4ed3a11df43d7ec97a |
|
BLAKE2b-256 | abfe0c1740c8168dfc7b55201c9d6036334f9d933a52ba069ac2333b468404c3 |
Close
Hashes for py_executable_checklist-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49918d0fae76a06e4e493a03b4468be3da1e8a6562724d3f3dbcd59e0c8418bf |
|
MD5 | 5d6858b280388c9b21727f8d0c7421c2 |
|
BLAKE2b-256 | afd80bfcbdd09b5f8e7b1160f4427be1161baac140fda38f645b6d6c933f5063 |