From 4d836989720523cd0363927e3e066f56b9dc445c Mon Sep 17 00:00:00 2001 From: yum Date: Sat, 17 Dec 2022 17:26:16 -0800 Subject: Check in `future` package I hit some issues installing Whisper and had to embed this package. I haven't taken the time to deeply understand what's going on. I think that embedded Python follows different rules about resolving module paths than regular system Python. Basically, `future`'s setup.py has a line like `import src`, where `src` is a module inside future (like `future/src/__init__.py`). This doesn't work unless we put that directory on the search path. --- .../future-0.18.2/docs/why_python3.rst | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Python/Dependencies/future-0.18.2/docs/why_python3.rst (limited to 'Python/Dependencies/future-0.18.2/docs/why_python3.rst') diff --git a/Python/Dependencies/future-0.18.2/docs/why_python3.rst b/Python/Dependencies/future-0.18.2/docs/why_python3.rst new file mode 100644 index 0000000..a4b535f --- /dev/null +++ b/Python/Dependencies/future-0.18.2/docs/why_python3.rst @@ -0,0 +1,66 @@ +.. _why-python3: + +Why Python 3? +============= + +- Python 2.7 is the final Python 2.x release. Python 3.x is the future. + The Python ecosystem needs to consolidate. A split or schism between + different incompatible versions is not healthy for growing the + community. +- Function annotations +- Decimal module 100x faster. As fast as floats. +- Easier to learn. (Less cruft in language and stdlib, more consistency, better docstrings, etc.) +- Much safer handling of unicode text and encodings: fewer bugs. +- More memory efficiency (shared dict keys (PEP 412) and space-efficient + Unicode representation (PEP 393)) +- Exception chaining + +Why are Unicode strings better on Python 3? +------------------------------------------- + +- it is not the default string type (you have to prefix the string + with a u to get Unicode); + +- it is missing some functionality, e.g. casefold; + +- there are two distinct implementations, narrow builds and wide builds; + +- wide builds take up to four times more memory per string as needed; + +- narrow builds take up to two times more memory per string as needed; + +- worse, narrow builds have very naive (possibly even "broken") + handling of code points in the Supplementary Multilingual Planes. + +The unicode string type in Python 3 is better because: + +- it is the default string type; + +- it includes more functionality; + +- starting in Python 3.3, it gets rid of the distinction between + narrow and wide builds; + +- which reduces the memory overhead of strings by up to a factor + of four in many cases; + +- and fixes the issue of SMP code points. + +(quote from a mailing list post by Steve D'Aprano on 2014-01-17). + + +New features +------------ + +Standard library: +~~~~~~~~~~~~~~~~~ + +- SSL contexts in http.client +- + + + +Non-arguments for Python 3 +========================== + +- -- cgit v1.2.3