python-project-template

Template for python based projects

https://github.com/paul-b98/python-project-template

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.2%) to scientific vocabulary

Keywords

devc development python tools
Last synced: 6 months ago · JSON representation ·

Repository

Template for python based projects

Basic Info
  • Host: GitHub
  • Owner: Paul-B98
  • License: mit
  • Language: Dockerfile
  • Default Branch: main
  • Homepage:
  • Size: 1.32 MB
Statistics
  • Stars: 8
  • Watchers: 1
  • Forks: 0
  • Open Issues: 8
  • Releases: 0
Topics
devc development python tools
Created about 1 year ago · Last pushed 6 months ago
Metadata Files
Readme License Code of conduct Citation Codeowners Security

README.md

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. To use this you first need to install docker under Linux or WSL2 under windows.

  1. Clone the repository: sh git clone https://github.com/Paul-B98/python-project-template.git cd python-project-template

  2. Open the project in Visual Studio Code: sh 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

(optional scope):

[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 1. Architecture Constraints 1. Context and Scope 1. Solution Strategy 1. Building Block View 1. Runtime View 1. Deployment view 1. Crosscutting Concepts 1. Architecture Decisions 1. Quality Requirements 1. Risks and Technical Debt 1. Glossary

Additional features

Owner

  • Name: Paul
  • Login: Paul-B98
  • Kind: user
  • Location: Germany

I’m a Software Engineer

Citation (CITATION.cff)

cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: "Python Project Template"
authors:
- family-names: "B98"
  given-names: "Paul"
  orcid: "https://orcid.org/0000-0000-0000-0000"
type: software
version: 0.0.1
date-released: 2025-01-01
license: MIT
url: https://github.com/Paul-B98/python-project-template
repository-code: https://github.com/Paul-B98/python-project-template
identifiers:
- type: url
  value: https://github.com/Paul-B98/python-project-template
keywords:
- python
- development
- github template
- devcontainer

GitHub Events

Total
  • Issues event: 30
  • Watch event: 8
  • Delete event: 71
  • Issue comment event: 70
  • Push event: 156
  • Pull request review event: 69
  • Pull request event: 160
  • Create event: 82
Last Year
  • Issues event: 30
  • Watch event: 8
  • Delete event: 71
  • Issue comment event: 70
  • Push event: 156
  • Pull request review event: 69
  • Pull request event: 160
  • Create event: 82

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 17
  • Total pull requests: 78
  • Average time to close issues: 25 days
  • Average time to close pull requests: about 10 hours
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.06
  • Average comments per pull request: 0.67
  • Merged pull requests: 59
  • Bot issues: 0
  • Bot pull requests: 78
Past Year
  • Issues: 17
  • Pull requests: 78
  • Average time to close issues: 25 days
  • Average time to close pull requests: about 10 hours
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.06
  • Average comments per pull request: 0.67
  • Merged pull requests: 59
  • Bot issues: 0
  • Bot pull requests: 78
Top Authors
Issue Authors
  • Paul-B98 (17)
Pull Request Authors
  • dependabot[bot] (85)
Top Labels
Issue Labels
Pull Request Labels
dependencies (85) python (75) python:uv (7) github_actions (3)

Dependencies

.github/workflows/python_ci.yml actions
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.devcontainer/Dockerfile docker
  • mcr.microsoft.com/devcontainers/python 3.13 build
.devcontainer/docker-compose.yml docker
poetry.lock pypi
  • colorama 0.4.6
  • coverage 7.6.9
  • idna 3.10
  • iniconfig 2.0.0
  • multidict 6.1.0
  • mypy 1.13.0
  • mypy-extensions 1.0.0
  • packaging 24.2
  • pluggy 1.5.0
  • propcache 0.2.1
  • pytest 8.3.4
  • pytest-asyncio 0.23.8
  • pytest-cov 4.1.0
  • pytest-random-order 1.1.1
  • pytest-recording 0.13.2
  • pyyaml 6.0.2
  • ruff 0.3.7
  • typing-extensions 4.12.2
  • urllib3 1.26.20
  • urllib3 2.2.3
  • vcrpy 6.0.2
  • wrapt 1.17.0
  • yarl 1.18.3
pyproject.toml pypi
  • coverage ^7.4.0 develop
  • mypy ^1.8.0 develop
  • pytest ^8.0.2 develop
  • pytest-asyncio ^0.23.3 develop
  • pytest-cov ^4.1.0 develop
  • pytest-random-order ^1.1.1 develop
  • pytest-recording ^0.13.1 develop
  • ruff ^0.3.0 develop
  • python ^3.13