Skip to main content

Multimodal Dynamic Launcher - Shell script orchestrator

Project description

Mudyla - Multimodal Dynamic Launcher

CI/CD PyPI Python 3.12+ License: MIT Nix Nix Flake

A script orchestrator: define graphs of Python/Bash/etc actions in Markdown files and run them in parallel under Nix environments.

Totally Claude'd.

Based on some ideas from DIStage Dependency Injection, Grandmaster Meta Build System and ix package manager.

Successor of mobala

If you use Scala and SBT, Mudyla works well with Squish.

An example of a real project using this gloomy tool: Baboon.

Documentation

📚 Read the Full Documentation

Demo

  • Parallel build: asciicast
  • Checkpoint recovery: asciicast
  • Weak dependencies: asciicast
  • Context reduction: asciicast

Features

  • Markdown-based action definitions: Define actions in readable Markdown files
  • Multi-language support: Write actions in Bash or Python
  • Dependency graph execution: Automatic dependency resolution and parallel execution
  • Multi-version actions: Different implementations based on axis values (e.g., build-mode)
  • Multi-context execution: Run the same action multiple times with different configurations
  • Axis wildcards: Use * and prefix* patterns to run actions across multiple axis values
  • Nix integration: All actions run in Nix development environment (optional on Windows)
  • Checkpoint recovery: Resume from previous runs with --continue flag
  • Rich CLI output: Beautiful tables, execution plans, and progress tracking

Quick Install

# Install with pipx (recommended)
pipx install mudyla

# Or run with Nix
nix run github:7mind/mudyla -- --help

See Installation Guide for more details.

Quick Start

  1. Create .mdl/defs/actions.md:

    # action: hello-world
    ```bash
    echo "Hello, World!"
    ret message:string=Hello
    ```
    
  2. Run:

    mdl :hello-world
    

See Getting Started for a full tutorial.

Testing

Mudyla uses pytest. Run ./run-tests.sh to execute the suite. See TESTING.md for details.

License

MIT

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

mudyla-0.4.0.tar.gz (72.9 kB view details)

Uploaded Source

Built Distribution

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

mudyla-0.4.0-py3-none-any.whl (89.1 kB view details)

Uploaded Python 3

File details

Details for the file mudyla-0.4.0.tar.gz.

File metadata

  • Download URL: mudyla-0.4.0.tar.gz
  • Upload date:
  • Size: 72.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mudyla-0.4.0.tar.gz
Algorithm Hash digest
SHA256 499223d4176634cbf082883d9022bbb121a71ec483cd01023e199259d0860092
MD5 625e7e89d93ad92a13d06c26a804ab30
BLAKE2b-256 a9d6e1ae89c18cf67f5d2be62e424e9b4be6584d90c02dd1c00c81b302d60f5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mudyla-0.4.0.tar.gz:

Publisher: ci.yml on 7mind/mudyla

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

File details

Details for the file mudyla-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: mudyla-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 89.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mudyla-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7dc5140281776c08b8bfc919de7ca9f8b582b39f3a9ff5dd423025745ec46e93
MD5 54a53f9ead507448ff96f33d56fa8cdf
BLAKE2b-256 bc44e76ef2048522bb125cff0bc31e50a28c67f4c37a5ee8bf36ded4132aaa00

See more details on using hashes here.

Provenance

The following attestation bundles were made for mudyla-0.4.0-py3-none-any.whl:

Publisher: ci.yml on 7mind/mudyla

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