The hypermodern Python project
Project description
Hypermodern Python Guide
This repository follows the series of articles for hypermodern python.
What is used:
- Package, dependency, and environment manager:
conda - Package and dependency manager:
poetry - Package manager:
pip - Continuous integration:
GitHub Actions - Command-line interface:
click - Managing git hooks:
pre-commit - Data validation:
desert,marshmallow - Testing:
- Unit testing:
pytest - Test automation:
nox - Security audit:
Safety - Code coverage:
Coverage.py - Coverage reporting:
codecov
- Unit testing:
- Documentation:
- Check documentation examples:
xdoctest - Documentation:
sphinx - Generate API documentation:
autodoc,napoleon,sphinx-autodoc-typehints
- Check documentation examples:
- Linting:
flake8:flake8-black: generates warnings if it detects Black would reformat a source file.flake8-import-order: generates warnings if import statements are not grouped and ordered in a consistent and PEP 8-compliant way.flake8-bugbear: helps you find various bugs and design problems in your programs.flake8-bandit: find common security issues in Python code.flake8-annotations: detects the absence of type annotations for functions, helping you keep track of unannotated code.flake8-docstrings: uses the tool pydocstyle to check that docstrings are compliant with the style recommendations of PEP 257.
mypy: static type checking.pytype: static type checking.typeguard: runtime type checking.darglint: checks that docstring descriptions match function definitions.
- Formatting:
black: modifies conflicting files.
Instructions not in the articles.
- Clone the repository.
- Create a new conda environment:
conda env create -f environment.yml
- Download
Coverage.pyusingzshcli:poetry add --dev 'coverage[toml]' pytest-cov
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters