TinyFlux should be developed locally with the latest stable version of Python on any platform (3.10 as of this writing).
TinyFlux follows semantic versioning guidelines for releases.
TinyFlux development follows the branch-based workflow known as "GitHub flow".
TinyFlux uses GitHub Actions for its CI/CD workflow.
TinyFlux conforms to PEP 8 for style, and Google Python Style Guide for docstrings. TinyFlux uses common developer tools to check and enforce this. These checks should be performed locally before pushing to GitHub, as they will eventually be enforced with GitHub Actions (see .github/workflows
in the TinyFlux GitHub repository for details).
TinyFlux uses standard configuration black for code formatting, with an enforced line-length of 80 characters.
After installing the project requirements:
/tinyflux $ black .
TinyFlux uses standard configuration flake8 for style enforcement, with an enforced line-length of 80 characters.
After installing the project requirements:
/tinyflux $ flake8 .
TinyFlux uses standard configuration mypy for static type checking.
After installing the project requirements:
/tinyflux $ mypy .
TinyFlux hosts documentation on Read The Docs.
TinyFlux uses Sphinx for documentation generation, with a customized Read the Docs Sphinx Theme, enabled for "Google-style" docstrings.
After installing the project requirements:
/tinyflux $ cd docs
/docs $ make html
/docs $ open build/html/index.html
Documentation is deployed to ReadTheDocs through third-party integration with GitHub. Commits to the master
branch trigger builds and deployment with RTD.
TinyFlux aims for 100% code coverage through unit testing.
TinyFlux uses pytest as its testing framework.
After installing the project requirements:
/tinyflux $ pytest
TinyFlux uses Coverage.py for measuring code coverage.
/tinyflux $ coverage run -m pytest
/tinyflux $ coverage report -m