Skip to content

sandyowlet/py-modern

Repository files navigation

py-modern


A modern python project template powered by uv, ruff, pyright, github actions, and more.

License Commit activity

Release

pypi

python versions

Overview

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.

Features

  • 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.

Usage

Using uvx (Recommended)

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>

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

A modern python project template powered by uv, ruff, pyright, github actions, and more.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors