If you are on a Windows machine, you will likely run into an error when running mkdocs serve. If you follow the troubleshooting guide note that you may also need to install MYSYS2.
When installed and run, put this into the MYSYS2 terminal:
pacman -S mingw-w64-ucrt-x86_64-cairo
- Python 3.8 or later
- uv - Modern Python package manager
- just - Command runner (optional but recommended)
- Cairo library for image generation (macOS:
brew install cairo, Linux:apt install libcairo2)
# Install dependencies
just install
# Start development server
just serve
# Run all quality checks
just check# Install dependencies
uv sync
# Start development server
uv run mkdocs serve
# Build the site
uv run mkdocs buildRun just help to see all available commands, or use these directly:
just serve- Start development server on port 8000just serve-port 8001- Start on a specific portjust build- Build the static sitejust validate- Build with strict validationjust link-check- Check all linksjust check- Run all quality checksjust clean- Clean generated files
To add announcement banners, edit overrides/main.html:
{% block announce %}
<p>Attend the <a href="https://conference.pytexas.org">PyTexas 2026 Conference</a> April 17 - 19, 2026</p>
{% endblock %}This project uses uv for dependency management:
- Add a package:
uv add <package> - Remove a package:
uv remove <package> - Update lock file:
uv lock
Dependencies are specified in pyproject.toml and locked in uv.lock.
The repository uses GitHub Actions for continuous integration and deployment:
- Link Check - Validates all links on push/PR
- Dependency Review - Security scanning on PRs
- Deploy - Automatic deployment to GitHub Pages on main branch
See CLAUDE.md for detailed project structure and development guidelines.
Hex code for the colors for this year's logo
green #204F3C yellow #C2B64A orange #C73810 brown #443229 blue #4B8EC2