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.3.0.tar.gz (10.8 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.3.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mudyla-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f0f838a8ea974c7081d6a4dcf89f65ced7f71e42eb693400691ddf5cbb7520cb
MD5 a39864ff865fb9c991653e3460f02f26
BLAKE2b-256 05ff48c2f09515b3a60fd7d8fcdb69fc4ac868f590d1b7d36ddf827cfec41854

See more details on using hashes here.

Provenance

The following attestation bundles were made for mudyla-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: mudyla-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 69932ebe00ddc3028e25f481532f677971b4890f3265f5d55cdab015713ba9c2
MD5 835d840591f4d0246b6070e21cb8b4df
BLAKE2b-256 dfd51a9ae2f3deb21caa2c7c93b09ff839917f0b097f6f1700c34cd44368e97c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mudyla-0.3.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