Skip to main content
An OOP task runner. Write tasks once, reuse everywhere. An OOP task runner. Write tasks once, reuse everywhere.
testscodecovpypipython versionslicense

Why bakefile?

  • Reusable - Makefile and Justfile work well, but reusing tasks across projects is hard. bakefile makes tasks Python class methods, so you inherit and share them like any other code.
  • Python - Write Python instead of a DSL. Real language features, type checking, and the rest of Python’s tooling. ctx.run() still handles normal CLI commands through subprocess.
  • Language-agnostic - Tasks are Python, but the commands they run can target any language (Go, Rust, JS, etc.).
See the full comparison against Make, Just, Task, mise, and Invoke.

A taste

Installation

Install with pip or uv, plus the optional bakelib helpers.

Quickstart

Create a bakefile.py, define tasks, and run them with bake.