Skip to main content

Supervisor is a Workflow Engine for Digital Workers that generates a detailed telemetric log at runtime called a Work Report

Project description

👷 Supervisor

Supervisor — Github Header

:warning: NOTE: Supervisor is quite new. We welcome and encourage you to help shape future development by reporting issues and making suggestions 💖


Supervisor is a Workflow Engine for Digital Workers that constructs and broadcasts a detailed and structured telemetric log, called the Run Report.

Supervisor is quick and easy to implement:

from supervisor import step, step_scope, supervise, set_step_status


# using the step decorator
@step("2")
def step_2(name: str) -> bool:
    print(f'Hello {name}')
    return True # some condition

def main() -> None:
    # using the step_scope context manager
    with step_scope('1') as step_context:
        try:
            print("Getting credentials")
            # ...
        except Exception as e:
            # set step status using method
            step_context.set_status("warning")

    if not step_2():
        # set step status using function
        set_step_status("2", "fail")

if __name__ == '__main__':
    with supervise():
        main()

pre-commit test

Supervisor supports Python ≥ 3.7.5

:books: 👉️ Read the Docs

Table of Contents

Installing Supervisor

At this time, Supervisor is a private package hosted only on CodeArtifact.

  1. Authenticate with CodeArtifact:

    aws codeartifact login \
      --tool pip \
      --repository thoughtful-automation \
      --domain thoughtful-automation \
      --domain-owner XXXXXXXXXXXX \
      --region us-east-1
    
  2. Pip install

    pip install t-supervisor
    

    or install a specific version: pip install "t-supervisor==0.4.0"

Documentation available on Read the Docs

See the Read the Docs.

Contributing

Contributions to Supervisor are welcomed!

To get started, see the contributing guide.

Resources

Links to related code, documentation, and applications.

🖥 Empower

The digital Workforce Manager (DWM)

👷 Supervisor (this repo)

The Workflow Engine for Digital Workers that constructs and broadcasts a detailed and structured telemetric log, called the Work Report

:robot: Foundry

The initialization tool for Digital Workers.

🔀 Prospector

The design tool for Digital Workers.

:books: Schema Library

The JSON-Schema-defined documents used to validate the Manifest and the runtime Work Report

:eagle: Department of Digital Labor

Documentation and Specifications for building Digital Workers in TA's ecosystem, and Empower


Made with ❤️ by

Thoughtful Automation

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

thoughtful-1.10.0.tar.gz (23.4 kB view hashes)

Uploaded Source

Built Distribution

thoughtful-1.10.0-py3-none-any.whl (27.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page