Differences between revisions 6 and 13 (spanning 7 versions)
Revision 6 as of 2018-01-22 06:29:03
Size: 1026
Editor: SamatJain
Comment:
Revision 13 as of 2019-05-26 00:12:41
Size: 2583
Editor: SamatJain
Comment: Add arrow and moment for date-handling
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Python
Line 11: Line 12:
python-wheel
Line 30: Line 30:

[[https://github.com/asottile/future-fstrings|asottile/future-fstrings]]. Allows formatted string literals (AKA f-strings) in Python 2.7–3.5 by hacking built-in codecs.

[[https://github.com/crsmithdev/arrow/|arrow]] (relatively mature) and [[https://github.com/zachwill/moment|moment]], a port of Moment.js, are date-handling libraries with a better API than Python's stdlib.

== Compilers ==

[[http://nuitka.net/|Nuitka]]: Python native-code compiler, binary will still link to libpython.

== Porting projects from Python 2 to Python 3 ==

=== Backports ===

==== subprocess ====

[[https://github.com/google/python-subprocess32|python-subprocess32]]: Backport of Python 3.2 `subprocess` module to 2.7. Use:

{{{#!highlight python numbers=off
if os.name == 'posix' and sys.version_info[0] < 3:
    import subprocess32 as subprocess
else:
    import subprocess
}}}

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

=== 2to3 libraries ===

 * [[http://python-future.org/|python-future]]
 * [[https://pythonhosted.org/six/|six]], along with [[https://python-modernize.readthedocs.io/|python-modernize]]

=== Guides ===

 * [[https://portingguide.readthedocs.io/en/latest/index.html|The Conservative Python 3 Porting Guide]]
 * [[https://docs.python.org/3/howto/pyporting.html|Porting Python 2 Code to Python 3]]

=== Notes ===

 * [[https://docs.python.org/3/howto/sorting.html#the-old-way-using-the-cmp-parameter|Sorting and using Python 3.2's funcutils.cmp_to_key()]]

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.

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.

Compilers

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

Porting projects from Python 2 to Python 3

Backports

subprocess

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
else:
    import subprocess

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

2to3 libraries

Guides

Notes

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