Skip to main content

Executable Workflow

PyPI PyPI - Python Version PyPI - License


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.workflow 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 execute(self):
        logging.info(f"Hello {self.username}")

        # output
        return {"greetings": f"Hello {self.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:
  • 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_executable_checklist-1.4.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

py_executable_checklist-1.4.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file py_executable_checklist-1.4.0.tar.gz.

File metadata

  • Download URL: py_executable_checklist-1.4.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.16 Linux/5.15.0-1031-azure

File hashes

Hashes for py_executable_checklist-1.4.0.tar.gz
Algorithm Hash digest
SHA256 723ff35a724cade19618f40cc32520cc47f250ce6acc87ae2091b2dd55d1df75
MD5 804567210a8db0677e9af0bba97430b8
BLAKE2b-256 c596e403ad980a9e651536bc4003228f4115805d8c0dcde35e14cc4425269e22

See more details on using hashes here.

File details

Details for the file py_executable_checklist-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for py_executable_checklist-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 704d114b75fb2f359319708a46e975758bdbf3ae6bf09e6d285f50808c0fbfed
MD5 f3cc6c25535ba2cf1dc4a705d49fdbfd
BLAKE2b-256 a06b920d1623a90aaa64aecc5ca2f339a5af483f872ed76ecb223ab48c5ce776

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.11.0

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.0

2 files

0.8.3

2 files

0.8.2

2 files

0.7.0

2 files

0.5.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page