Books
Test-Driven Development with Python Harry Percival
Testing Python: Applying Unit Testing, TDD, BDD and Acceptance Testing link .
Videos
Outside-In TDD Harry Percival, PyCon 2016
Докеризация веб приложения на Python, Антон Егоров
Thinking about Concurrency, Raymond Hettinger, Python core developer
Tutorials
Разработка идеального pypi пакета с поддержкой разных версий python (Rus), 2020.
The Little Book of Python Anti-Patterns - an awesome collection of best practices with examples.
pythonsheets - a colleciton of useful snippets
Asyncronous python
Some historical overview Asynchronous Python
[ Video ] Couple of recipies: Practical Python Async for Dummies
pytest addon for testing coroutines pytest-asyncio
Some more guidelines how to test coroutines: Advanced asyncio testing
Performance
Modules
cloud storage module - supports AWS S3, Google cloud storage and local file system. Hopefully it has unified interface for all three of the backends.
Apache libcloud – anouther cloud file system API. more alive
Testing, packaging, releasing
Packaging a python library, 25 May 2014 (updated 30 September 2019) by ionelmc. The article proposes a way to structure the code of your python module, describes how to write setup.py file, set up
tox
,pytest
etc. Cookie cutter library for initialization of new projects: https://github.com/ionelmc/cookiecutter-pylibraryAbout processing of KeyboardInterrupt exception, INT signals and background processes. Capturing SIGINT using KeyboardInterrupt exception works in terminal, not in script , stack overflow.
# invocation from interactive shell $ python -c "import signal; print(signal.getsignal(signal.SIGINT))" <built-in function default_int_handler> # background job in interactive shell $ python -c "import signal; print(signal.getsignal(signal.SIGINT))" & <built-in function default_int_handler> # invocation in non interactive shell $ sh -c 'python -c "import signal; print(signal.getsignal(signal.SIGINT))"' <built-in function default_int_handler> # background job in non-interactive shell $ sh -c 'python -c "import signal; print(signal.getsignal(signal.SIGINT))" &' 1
Blogs
- https://snarky.ca/ - Python core developer. Dev manager for the Python extension for VS Code.