A modern python project template powered by uv, ruff, pyright, github actions, and more.
For developers unfamiliar with modern project standards, setting up a Python project that adheres to best practices can be challenging. This is especially true when it comes to correctly configuring the pyproject.toml file or establishing a CI/CD pipeline, which often requires significant effort.
pymodern aims to provide a modern Python project template that optionally includes support for documentation, code formatting, testing, packaging, publishing, and deployment.
- Manage project dependencies with
uv. - Format code using
ruff. - Perform type checking with
pyright. - Run tests with
pytest. - Measure test coverage with
coverage. - Build CI/CD pipelines using GitHub Actions.
- Publish projects to PyPI.
- Create documentation with
mkdocs. - Deploy documentation to GitHub Pages.
- Ensure code quality on commit with
pre-commit. - Execute build and matrix testing workflows with
justfile. - Utilize GitHub issue templates.
First, ensure you have uv installed by following the installation guide.
Create a new project using copier:
uvx copier copy gh:sandyowlet/py-modern <project_name>This project is licensed under the MIT License. See the LICENSE file for more details.