List of tools - NotANameServer/incipyt GitHub Wiki
Quasi-standard de facto tools
- Virtual environment
- git
- Packaging Python Projects
- Dependencies:
- Sphinx
- Tests
- Black: The Uncompromising Code Formatter
- Linter and checker
- Shell and Notebook
Description
Flux operationel
- VCS init:
git init git add git commit git remote addhg init hg add hg commit cat .hg/hgrc - Virtuel env creation
venv.EnvBuilder().create()virtualenv.cli_run()venv.EnvBuilder().create() #Si venv virtualenv.cli_run() #Si Virtualenvpew newpoetry initpipenv installhatch env create - Dependencies management:
cat pyproject.tomlpipenv install - Classifier PEP301
pip install trove-classifiers cat pyproject.toml - Changelog
- Formater:
pip install black cat pyproject.toml - Analysers:
- Check PEP8
pip install flake8 pip install pyproject-flake8 #Temporaire pip install flake8-bugbear #Optionnel cat .flake8 cat setup.cfg cat tox.ini cat pyproject.toml #pyproject-flake8pip install pycodestyle cat setup.cfg cat tox.inipip install flakehell pip install flake8-bugbear #Optionnel cat pyproject.tomlpip install pylint cat pylintrc cat .pylintrc cat pyproject.toml cat setup.cfg - Static analysis
pip install pylint cat pylintrc cat .pylintrc cat pyproject.toml cat setup.cfgpip install pyflakespip install jedi - Type analyseur
pip install mypy cat mypy.ini cat .mypy.ini cat setup.cfg
- Check PEP8
- Tests:
- Unitaires et cas d'usage
pip install nose2 cat unittest.cfg cat nose2.cfg cat pyproject.toml #Issue 452pip install pytest cat pytest.ini cat pyproject.toml cat tox.ini cat setup.cfgpip install ward cat pyproject.toml - Performances
pip install pytest-benchmark cat pytest.ini cat pyproject.toml cat tox.ini cat setup.cfg - Coverage
pip install nose2[coverage_plugin] cat unittest.cfg cat nose2.cfg cat pyproject.toml #Issue 452pip install pytest-cov cat pytest.ini cat pyproject.toml cat tox.ini cat setup.cfgpip install vulture cat pyproject.toml - Automation
pip install tox pip install tox-pyenv #Optionnel cat pyproject.toml cat tox.ini cat setup.cfgpip install nox pip install nox-poetry #Optionnel cat noxfile.py
- Unitaires et cas d'usage
- Documentation:
- Checker PEP257
pip install pydocstyle cat setup.cfg cat tox.ini cat .pydocstyle cat .pydocstyle.ini cat .pydocstylerc cat .pydocstylerc.ini - Checker .rst
pip install doc8 cat doc8.ini cat tox.ini cat pep8.ini cat setup.cfg cat pyproject.toml #commit adfd81728964cea41554de0cd664a9c16b6081d3 - Production
pip install sphinx pip install breathe m2r2 sphinx-rtd-theme sphinxcontrib-apidoc #Optionnel sphinx-quickstart cat conf.py - Deployment
cat .readthedocs.yaml
- Checker PEP257
- Automatic hooks
pip install pre-commit cat .pre-commit-config.yaml - Deployment -- Packaging Python Projects:
- Compilation:
cat setup.cfg cat pyproject.tomlcat pyproject.toml - Packaging
cat setup.cfg cat pyproject.tomlcat pyproject.tomlpip install flit cat pyproject.tomlpip install hatch cat pyproject.toml - Deployment
pip install twinecat pyproject.tomlpip install flit cat pyproject.tomlpip install hatch cat pyproject.toml
- Compilation: