Python Package Template

screenshot of Python Package Template
mkdocs

A Python package template using pyproject.toml, hatch, pre-commit, black, ruff, and mkdocs.

Overview

The Python Package Template is an innovative solution designed to streamline the process of creating and managing Python packages. With a modern setup that incorporates various tools and configurations, it simplifies the typically complex process of package development. This template is particularly useful for developers looking to quickly bootstrap new projects while ensuring best practices in terms of coding standards and documentation.

By leveraging industry-standard tools, the Python Package Template not only aids in package configuration but also promotes a smooth development workflow. From setup to deployment, this template provides everything needed to focus on building great software without getting bogged down by initial configurations.

Features

  • Package configuration with pyproject.toml: Built with Hatch, this feature simplifies package management and settings.
  • Code formatting and linting with ruff and black: Ensures consistent code style and quality by integrating popular formatting tools.
  • Dockerfile with package installation: Facilitates easy deployment and testing in containerized environments.
  • Pre-commit configuration file: Automates various checks before code commits to maintain code integrity.
  • GitHub Codespaces integration: Effortlessly create development environments from .devcontainer for efficient collaboration.
  • CI-CD Pipelines with GitHub Actions: Automates your development workflow, ensuring continuous integration and delivery practices.
  • Basic pytest setup for unit tests: Includes a ready-to-go testing framework to help maintain code reliability.
  • Auto-generated documentation with mkdocs: Utilizes mkdocs and mkdocs-material to create professional documentation effortlessly.
mkdocs
MkDocs

MkDocs is a fast, simple and downright gorgeous static site generator that's geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file.

template
Templates & Themes

A template or theme refers to a pre-designed layout or structure that provides a basic framework for building a specific type of application or website. It typically includes good design, placeholder content and functional features, allowing developers to customize and fill in the details according to their specific needs.