Speaker
Michał Karzyński
Material
Note
- Stages
- Specs
- PEP8
- GNU/POSIX
- PyPA
- PyCQA
- pip install
- pytest
- mypy
- docopt
- setuptools
- tox
- virtualenv
- wheel
- black
- pre-commit
- flake8
- Services
- GitHub
- TravisCI
- Coverall.io
- Dependabot
- codeclimate.com
- codacy.com
- mergify.io
- pyup.io
Check list
- CLI: docopt
- Code directory layout
- Code Structure
- meaningful name
- single responsibility
- up to 2 parameters
- preferably no side-effects
- write unit tests
- Define your main function
- Preparing your setup.py file
- Using your setup.py
python setup.py sdist
(source package)
python setup.py bdist_wheel
(binary wheel for distribution)
- Add
entry_points
to setup.py
entry_points={"console_scripts": ["my-command = my_module.main:main"]}
- Create a
requirements.txt
requirements.txt
requirements_dev.txt
- Use Black to format you code
- Use pre-commit to run formatter
- Use flake8 to check your code
- Use MyPy for static type analysis
- Use tox to test all the things
- Write unit tests (pytest)
- Setup a Git repository
- Setup continuous integration
- Requirements updater
- Test coverage checker
- Automated code review
- Automated PR merge
- Publish your project on PyPI (twine)
Share on:
Twitter
❄ Facebook
❄ Email