Skip to main content

A simple, fast, Python-native task runner

Project description

Wandler Logo

A simple, fast, Python-native task runner that uses a wandler.yaml file.

Think make, but for Python projects—with clean YAML syntax and powerful validation.

PyPI version CI License Python versions


💡 Why Wandler?

We have make, invoke, and Task. Why build another task runner?

Wandler is built on a simple philosophy: Your project's task runner should be as simple and reliable as the project's code.

  • 🐍 Python-Native: Stop installing external Go binaries or fighting with Makefiles on Windows. Wandler is a pure Python tool. Install it with pip and add it to your pyproject.toml dev dependencies.
  • ✅ Validated: Powered by Pydantic. Stop guessing why your config is broken. Get clear, human-readable error messages for free if you have a typo in your wandler.yaml.
  • 🧼 Clean & Simple: No complex syntax, no tab-vs-space wars. Just a clean, human-readable YAML file that maps task names to shell commands.
  • ✨ Lightweight: Wandler is not a complex build system. It's a simple, fast runner for the 90% use case: running your linters, tests, and formatters.

🚀 Getting Started in 60 Seconds

  1. Install Wandler:

    pip install wandler
    
  2. Create a wandler.yaml in your project root:

    tasks:
      clean:
        description: "Remove all build artifacts and cache files."
        command: "rm -rf .pytest_cache .mypy_cache build/ dist/ site/"
    
      build_docs:
        description: "Build the documentation site."
        command: "mkdocs build"
        inputs:
          - "docs/**/*.md"
          - "mkdocs.yml"
        outputs:
          - "site/index.html"
    
      serve_docs:
        description: "Serve the docs site with live-reloading."
        command: "mkdocs serve"
    
      build_package:
        description: "Build the wheel and sdist for publishing."
        command: "python -m build"
        depends_on:
          - clean
    
  3. List your tasks:

    $ wandler list
    
    Available tasks:
    clean                - Remove all build artifacts and cache files.
    build_docs           - Build the documentation site.
    serve_docs           - Serve the docs site with live-reloading.
    build_package        - Build the wheel and sdist for publishing.
    
  4. Run a task: (Wandler automatically runs dependencies first)

    $ wandler run build_package
    
    Running task 'clean': rm -rf .pytest_cache .mypy_cache build/ dist/ site/
    Task 'clean' completed successfully.
    Running task 'build_package': python -m build
    Task 'build_package' completed successfully.
    

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

wandler-0.0.2.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

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

wandler-0.0.2-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file wandler-0.0.2.tar.gz.

File metadata

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

File hashes

Hashes for wandler-0.0.2.tar.gz
Algorithm Hash digest
SHA256 3b113b2638c536b067c856fab4dea3920318b7b1a40bdea4a033e4eae2785dd7
MD5 c634a5143562e3b0c4a37b1a9265481e
BLAKE2b-256 d97e6e0d0c225acc20f330916eaea351eeb8d2780ccc9586ab66ce4f0966d378

See more details on using hashes here.

Provenance

The following attestation bundles were made for wandler-0.0.2.tar.gz:

Publisher: workflow.yml on rosshhun/wandler

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

File details

Details for the file wandler-0.0.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for wandler-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 52cdc58057546f61ceb15d4f4755f5b9daf1b88b72079356b5c229e13e5fd8c2
MD5 8fa86f960727d2be6c4ac8186c0f1961
BLAKE2b-256 91836ce885f7077791644f1d0b5fa4a80e69f603680a0c5b24f7bb7ebc559556

See more details on using hashes here.

Provenance

The following attestation bundles were made for wandler-0.0.2-py3-none-any.whl:

Publisher: workflow.yml on rosshhun/wandler

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