Using the MakefileΒΆ
make.bat on Windows, or Makefile on *nix, 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. Tasks are effectively automated using the make <target> syntax.
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 run .\make or .\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 v1.1.0:
Available targets:
audit-deps - Run a security audit on all (optional) dependencies using uv
build-docs - Build a preview of the documentation in docs/build/html, exiting with a non-zero status on any warning
changelog - Generate a compact changelog from Git history and print it in the terminal with colour
clean - Clean development artifacts and caches, including the __pycache__, build and dist directories, generated files, and coverage results
gen-badges - Run the test suite twice, exiting on any failure; generate static badges on success
gen-baseline - Regenerate the detect-secrets baseline at the project root
help - Show this help message
install - Install the package in editable mode with development dependencies; assumes a virtual environment is present
install-silent - Install without output
pre-commit - Run pre-commit hooks on all files, assuming the executable pre-commit on PATH points to pre-commit
release - Call the GitHub CLI (gh) to make an release interactively
ruff - Run the ruff linter
spellcheck - Run CSpell
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, assuming it is installed
Note: Some targets will automatically install or update the uv package manager. Targets may be added on popular demand.
Note
Generated by scripts/unix/genmakefileusage.sh in Read the Docs latest build at 2026-07-11 10:54:00 UTC.