This project template serves as a robust foundation for Python projects, promoting best practices and streamlining development workflows. It comes pre-configured with essential tools and features to enhance the development experience.
- PDM for efficient dependency management.
- Ruff for comprehensive linting and code formatting.
- Pytest for running tests and ensuring code reliability.
- pre-commit for managing pre-commit git hooks (Conventional Commits, ruff check, ruff format)
- GitLab CI/CD for continuous integration.
- Pydocstyle for validating docstring styles, also following the Google style.
- Mypy for static type checking.
Key commands for effective project management:
pdm install- Installs all project dependencies.pdm add <package>- Adds a new dependency to the project.pdm l- Runs linting, formatting, and mypy checks.pdm test- Executes tests located in the tests directory.pdm run <command>- Runs the specified command within the virtual environment.
The project uses our GitLab CI/CD templates to automate the linting and testing processes. The pipeline is triggered on every merge request and push to the default branch.