Skip to content

Paul-B98/python-project-template

Repository files navigation

Python Python Template

This is a template for creating Python projects. It includes a basic project structure, configuration files, and setup scripts to help you get started quickly.

Features

  • 📁 Pre-configured with uv for dependency management.
  • 🪛 Linting with ruff.
  • 🔧 Type checking with mypy.
  • 🧪 Testing with pytest.
  • 📝 Pre-commit hooks for code quality.
  • 📦 Uses dev container development setup.
  • 🔎 Easy documentation with MkDocs.
  • 🧰 Integrated with GitHub Actions for CI/CD automation and other workflows.

Getting Started

Note

Use the included dev container to automatically install all the necessary dev tools and dependencies.

  1. Clone the repository:

    git clone https://github.com/Paul-B98/python-project-template.git
    cd python-project-template
  2. Open the project in Visual Studio Code:

    code .
  3. Reopen in container:

    • Press F1 to open the command palette.
    • Type Remote-Containers: Reopen in Container and select it.
    • VS Code will build the Docker container defined in the .devcontainer folder and open the project inside the container.

Contributing

Conventional Commits

We follow the Conventional Commits specification to maintain a consistent commit history and enable automated tooling for releases and changelogs.

Commit message format:

Commit Message Format

<type>(optional scope): <short summary>

[optional body]

[optional footer(s)]

Common Types

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (formatting, missing semicolons, etc.)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding or correcting tests
  • chore: Changes to the build process or auxiliary tools
  • infra: infrastructure ch

Documentation

Some documentation description

Requirements and architecture documentation

This project uses arc42 to document the requirements and architecture:

  1. Introduction and Goals
  2. Architecture Constraints
  3. Context and Scope
  4. Solution Strategy
  5. Building Block View
  6. Runtime View
  7. Deployment view
  8. Crosscutting Concepts
  9. Architecture Decisions
  10. Quality Requirements
  11. Risks and Technical Debt
  12. Glossary

Additional features

About

Template for python based projects

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •