py311/README.md
2025-04-09 16:37:01 +02:00

27 lines
1.5 KiB
Markdown

# Repository Template for Python 3.11 Projects
# Tools for Project and Package Management
[![pdm-managed](https://img.shields.io/endpoint?url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fpdm-project%2F.github%2Fbadge.json)](https://pdm-project.org)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
Python projects are managed with **PDM** ([link to GitHub Source](https://github.com/pdm-project/pdm)), a PEP-compliant project and dependency management tool.
The applicable settings are contained within the PyProject-TOML file. In order to use a repo which was created with this template is to tell PDM which Python interpreter to use and then to install the whole project into the created virtual environment. If the interpreter is not available you will need to install it via PDM.
```console
pdm use 3.11.11 # example of a given version
pdm install
```
This installs all mandatory development dependencies such as:
- Ruff (formatting and linting)
- pytest (unittest framework)
- coverage.py (measuring test coverage)
- pytest-cov (integration of coverage into pytest)
- pytest-xdist (allows to execute the tests on multiple CPU cores)
- bump-my-version (CLI tool to manage version bumping)
- Nox (Python runner, e.g. to run test suite on multiple Python versions)
- pdoc (to auto-generate documentation from docstrings)
- Jupyterlab and widgets (to perform fast prototyping and enable exploratory data analysis)