|Deletions are marked like this.||Additions are marked like this.|
|Line 41:||Line 41:|
|== Typing ==
[[https://github.com/ambv/retype|ambv/retype]]: Re-applies type annotations from *.pyi stubs to a codebase.
* [[https://www.python.org/dev/peps/pep-0591/|PEP-591: Final and @final]]
* [[https://www.python.org/dev/peps/pep-0589/|PEP-589: Typing for nested dictionaries]]
CodingStyle/Python is another relevant page.
Development packages for Debian
Current for Ubuntu 16.04.
fabric python-pip python3-pip python-wheel-common
cffi and numpy
https://github.com/SimonSapin/azureblur/tree/master/azureblur: Example of using cffi to interact w/ a C++ class.
Neat Web frameworks
aspen.io. Filesystem-based dispatch library. Used by Liberapay.
nvbn/py-backwards: Python transcompiler. Lets you use Python 3.6 features in older versions, as old as Python 2.7.
asottile/future-fstrings. Allows formatted string literals (AKA f-strings) in Python 2.7–3.5 by hacking built-in codecs.
Nuitka: Python native-code compiler, binary will still link to libpython.
ambv/retype: Re-applies type annotations from *.pyi stubs to a codebase.
Porting projects from Python 2 to Python 3
python-subprocess32: Backport of Python 3.2 subprocess module to 2.7. Use:
if os.name == 'posix' and sys.version_info < 3: import subprocess32 as subprocess else: import subprocess
Can serve as a complete replacement for Python 2.7's subprocess module.