Skip to main content

Declarative workflow automation framework with a built-in UI

Project description

Moonchild

Declarative workflow automation framework with a built-in UI.

Install

pip install moonchild

Usage

from moonchild import Moonchild, workflow, Action, Result, ManualTrigger

class FetchData(Action):
    def execute(self, ctx):
        ctx["data"] = "hello"
        return Result.next()

workflow("my-pipeline") \
    .when(ManualTrigger()) \
    .step(FetchData(), name="fetch") \
    .finish()

Moonchild.start()   # starts the server at http://localhost:8000

Features

  • Declarative workflow builder: .when().step().and_().or_().if_().finish()
  • Parallel branches: .and_() (all must complete) / .or_() (first wins)
  • Conditional branching: .if_(condition).then_(a).else_(b).end_if()
  • Human-in-the-loop wait actions with a built-in UI
  • Cron triggers
  • Real-time UI over WebSocket
  • TinyDB persistence (zero setup)

Project details


Download files

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

Source Distribution

moonchild-0.2.0.tar.gz (57.7 kB view details)

Uploaded Source

Built Distribution

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

moonchild-0.2.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file moonchild-0.2.0.tar.gz.

File metadata

  • Download URL: moonchild-0.2.0.tar.gz
  • Upload date:
  • Size: 57.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for moonchild-0.2.0.tar.gz
Algorithm Hash digest
SHA256 de064042218448dda7d2770737e4d31e7fb879a974a991a43e879f8a367a0f56
MD5 f17bf500d0dda7155cf7f1e4be5f8657
BLAKE2b-256 e17960d1dfd642d77666dff1901ae1e18ab1f4ad70293ed709211bd15e876d6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for moonchild-0.2.0.tar.gz:

Publisher: publish.yml on allybros/moonchild

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file moonchild-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: moonchild-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for moonchild-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 229b743fb5859e6867109a174e6e5b115c52b99f1f97a917d4f08e9cdbd1acdf
MD5 db433fe25c2bb10a0716db926fb59b41
BLAKE2b-256 90b4af81a5c1e7a42e9dfd259e193f466a8ee4d0c12fc2ced09433eeb6a7e851

See more details on using hashes here.

Provenance

The following attestation bundles were made for moonchild-0.2.0-py3-none-any.whl:

Publisher: publish.yml on allybros/moonchild

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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