Using the MakefileΒΆ

make.bat on Windows, or the Makefile otherwise, is often a handy companion in development. It makes development less dry, repetitive and error-prone, and the process as a whole more smooth-sailing.

This is partly also to compensate for the lack of a setup.py after adaptation of the standardized pyproject.toml; see PEP 621 and the official PyPA guide for more. Note that the Makefile is not intended to be used by end users, but rather by developers, and it obviously requires GNU Make.

If you are in powershell, make will not work directly and you must use .\make.bat instead, which is more verbose; thus, you are strongly advised to develop in cmd.exe, the traditional command prompt.

Below is the Makefile help as of asyncutils v0.9.14:

Available targets:
 clean          - Clean build artifacts and caches
 clog           - Generate changelog from git history to file named ChangeLog
 install        - Install the package in editable mode with development dependencies; assumes a virtual environment is present
 gen-badges     - Run the test suite twice, exiting on any failure; generate static badges on success
 help           - Show this help message
 install-silent - Install without output
 install-system - Install the package in editable mode without a virtual environment
 pre-commit     - Run pre-commit hooks on all files
 preview-docs   - Generate preview versions of the help.rst and makefile-usage.rst pages; may take some time on Windows
 rmclog         - Remove existing changelog file
 ruff           - Run the ruff linter
 test           - Run tests, allowing up to AUTILSTESTMAXFAIL failures (default 3) since any more would likely mean an obvious error
 type-check     - Run ty for type checking
 venv           - Create a virtual environment using uv
 watch          - Watch for changes and run tests automatically using pytest-watch
Note: Some targets require additional tools to be installed, and some other targets will automatically install the uv package manager.
More targets may be added in the future on popular demand, so do keep updated.

Note

Generated by scripts/unix/genmakefileusage.sh in Read the Docs build at 2026-06-13 14:24:25 UTC.