Differences between revisions 14 and 15
Revision 14 as of 2019-06-05 06:56:46
Size: 2606
Editor: SamatJain
Comment: Add ToC
Revision 15 as of 2019-06-05 08:10:22
Size: 2919
Editor: SamatJain
Comment: Typing
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.

For reference:

 * [[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.


cffi and numpy

https://github.com/SimonSapin/azureblur/tree/master/azureblur: Example of using cffi to interact w/ a C++ class.

python - How do I convert a numpy ND-array to a CFFI C++ array and back again? - Stack Overflow

python - Why is cffi so much quicker than numpy? - Stack Overflow

Neat Web frameworks

aspen.io. Filesystem-based dispatch library. Used by Liberapay.

Neat packages

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.

arrow (relatively mature) and moment, a port of Moment.js, are date-handling libraries with a better API than Python's stdlib.


Nuitka: Python native-code compiler, binary will still link to libpython.


ambv/retype: Re-applies type annotations from *.pyi stubs to a codebase.

For reference:

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[0] < 3:
    import subprocess32 as subprocess
    import subprocess

Can serve as a complete replacement for Python 2.7's subprocess module.

2to3 libraries



SamatsWiki: ProgrammingLanguages/Python (last edited 2021-04-09 17:46:53 by SamatJain)