/PythonProjectTemplate

Python project template with unit-tests, documentation, ci-testing and workflows.

Primary LanguagePythonMIT LicenseMIT

FastVector

Python License Build codecov Documentation

Template For Python Projects

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.

Structure

├── pyproject.toml
├── ... other config files ...
├── docs
│   ├── api.md
│   └── index.md
├── examples
│   └── ...
├── fastvector
│   ├── __init__.py
│   ├── vector.py
│   └── version.py
└── tests
    ├── __init__.py
    └── test_vector.py

Commands

# 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