system wide python install:
- fedora
sudo dnf -y install python3 python3-devel python3-devtools
- debian/ubuntu
sudo apt-get install python3-dev python3-setuptools
virtual env:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python main.py
python -m pip install -U pip-chill
python -m pip install -U pip-review
pip-review -a
pip-chill > requirements.txt
teardown
deactivate
- uniformize code style
- improved code quality
- reduced merge diffs and conflicts
python -m pip install -U black
python -m black --fast --check .
python -m black --fast .
- uniformize code style
- improved code quality
- reduced bugs and code smells
python -m pip install -U pylint
python -m pylint delegation app tests
python -m pip install -U flake8
python -m flake8 .
python -m pip install -U pytest
python -m pytest
python -m pip install -U coverage
python -m coverage run -m pytest
python -m coverage report --show-missing --omit="*test*"
python -m coverage html --omit="*test*"
firefox htmlcov/index.html
python -m pip install -U sphinx
https://www.jetbrains.com/fr-fr/pycharm/download/other.html
https://gitlab.com/ramast/flake8-for-pycharm/ :
python -m pip install -U flake8-for-pycharm
-
https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
-
https://packaging.python.org/en/latest/discussions/src-layout-vs-flat-layout/
-
https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-structure.html => flat layout is simple for in-development packages
-
https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/
-
https://mwax911.medium.com/building-a-plugin-architecture-with-python-7b4ab39ad4fc
-
pytest documentation
-
TDD and Red Green Refactor
- https://www.martinfowler.com/articles/mocksArentStubs.html
- https://www.ankursheel.com/blog/difference-stubs-mocks-fakes-spies
- https://stackoverflow.com/questions/346372/whats-the-difference-between-faking-mocking-and-stubbing
system wide dependencies install:
python -m pip install -U customtkinter
python -m customtkinter