Skip to main content

Define tasks in Python. Run only what changed.

doit is a task management & automation tool like make, but in pure Python. It tracks file dependencies, caches results, and skips tasks that are already up-to-date. No DSL, no YAML - just Python functions.

Quick Example

Create a dodo.py:

def task_hello():
    """create a greeting file"""
    return {
        'actions': ['echo "Hello from doit" > hello.txt'],
        'targets': ['hello.txt'],
        'clean': True,
    }

def task_shout():
    """convert greeting to uppercase"""
    return {
        'actions': ['tr a-z A-Z < hello.txt > shout.txt'],
        'file_dep': ['hello.txt'],
        'targets': ['shout.txt'],
        'clean': True,
    }

Run it:

$ pip install doit
$ doit
.  hello
.  shout
$ doit            # nothing to do - already up-to-date
-- hello
-- shout

Key Features

  • Incremental builds - tracks file dependencies and targets, re-runs only what changed

  • DAG execution - tasks run in correct dependency order

  • Python-native - tasks are plain Python dicts and functions, use any library

  • Parallel execution - run independent tasks concurrently (multiprocessing or threading)

  • Subtask generation - yield multiple tasks from a single function

  • Computed dependencies - calc_dep for dynamic dependency graphs

  • Plugin architecture - extensible commands, reporters, backends, and task loaders

Project Details

license

The MIT License Copyright (c) 2008-2026 Eduardo Naufel Schettino

Release files for doit 0.37.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for doit 0.37.0
File Size Uploaded
doit-0.37.0.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for doit 0.37.0
File Interpreter ABI Platform
doit-0.37.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / doit-0.37.0.tar.gz

Download URL doit-0.37.0.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
d3c72e0e46a8fa1ddabea8f830762402dee090caf33c30c2295ac7010db8f09c
BLAKE2b-256 checksum
How to use checksums
35f63a817d438799bda4d4e5fd136175cf7c328c074fadc1422dec3b374907e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / doit-0.37.0-py3-none-any.whl

Download URL doit-0.37.0-py3-none-any.whl
Size 85.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a9f181566aa90faac515e276f85e6526019554ed7e13c12cf9dc094ffecf3e1b
BLAKE2b-256 checksum
How to use checksums
9c383d6dcbf8379cb86d71a2325210ca3469a33767d8254b74d8c343db26ce87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.37.0 This release

2 release files

0.36.0

2 release files

0.34.2

2 release files

0.34.1

2 release files

0.34.0

2 release files

0.32.0

1 release file

0.31.1

2 release files

0.31.0

1 release file

0.30.3

1 release file

0.30.2

1 release file

0.30.1

1 release file

0.30.0

1 release file

0.29.0

1 release file

0.28.0

1 release file

0.27.0

1 release file

0.26.0

1 release file

0.25.0

1 release file

0.24.0

1 release file

0.23.0

1 release file

0.22.1

1 release file

0.22.0

1 release file

0.21.1

1 release file

0.21.0

1 release file

0.20.0

1 release file

0.19.0

1 release file

0.18.1

1 release file

0.18.0

1 release file

0.17.0

1 release file

0.16.1

1 release file

0.16.0

1 release file

0.15.0

1 release file

0.14.0

1 release file

0.13.0

1 release file

0.12.0

1 release file

0.11.0

1 release file

0.10.0

1 release file

0.9.0

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page