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.5.3.tar.gz (86.3 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.5.3-py3-none-any.whl (105.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mudyla-0.5.3.tar.gz
Algorithm Hash digest
SHA256 5945667a300490a6546f467d62f935af5e6ddce817f463040da8525510184900
MD5 6f1c4fbc9a631f44f2a81c7ab70e0f0a
BLAKE2b-256 197bf51691f8ec9fd2b409dcbd1c73601da444727f8658c00e4ef1751ae98442

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mudyla-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 105.6 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.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e20981cc8433b062e28801873873a52b86d79579e98eaef727c5e73a07d5a2a1
MD5 665269d28685dc624be13df22fc3679d
BLAKE2b-256 fbe41a120f4f92849d1a79cd9f2caf9e4d0407d74b13dda7f65c9c31525b0355

See more details on using hashes here.

Provenance

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