Develop and contribute¶
dau-scheduler is pure Python. Contributions are welcome under the
Apache 2.0 license;
every commit must carry a Developer Certificate of Origin sign-off (git commit -s), which a GitHub app checks on each pull request.
Set up¶
git clone https://github.com/dau-dev/dau-scheduler.git
cd dau-scheduler
make develop
make develop installs the package in editable mode with its development
dependencies. make with no arguments lists the targets.
Lint, type-check, test¶
make lint # ruff, mdformat and codespell
make checks # distribution check and ty
make test # pytest
Run all three before opening a pull request. The README’s Python blocks run as a test, so an example that stops working fails the suite.
Documentation¶
The pages under docs/src and the README are the documentation site. It is
built with yardang
from [tool.yardang] in pyproject.toml, which lists the pages in order, and
published to GitHub Pages by the docs workflow after each green build on
main. To build it locally:
uv pip install "yardang[themes]"
yardang build
The site lands in docs/html. make lint formats and spell-checks the pages.
Pull requests¶
Work on a fork and open a pull request against main; a draft is fine while
the change is in progress. Squash into logical commits, all signed. Open an
issue first for anything larger than a fix, and use the discussions page for
questions.