This is a template for Python projects. What you get:
- Source code and test code is seperated in different directories.
- External libraries installed and managed by Pip and setuptools in a pyproject.toml.
- Setup for tests using Pytest and coverage with Pytest-Cov.
- Continuous testing with Github-Actions including pre-commit.
- Code coverage reports, including automatic upload to Codecov.
- Code documentation with Mkdocs.
βββ pyproject.toml
βββ ... other config files ...
βββ docs
β βββ api.md
β βββ index.md
βββ examples
β βββ ...
βββ fastvector
β βββ __init__.py
β βββ vector.py
β βββ version.py
βββ tests
βββ __init__.py
βββ test_vector.py
# Build and Install (local)
pip install -e . # OR
pip install -e ../Python-Project-Template # OR
pip install -e ../Python-Project-Template[all]# Test
pytest tests # OR
pytest . # OR
pytest# Code Coverage
pytest --cov=fastvector tests --cov-report=html