FreeTakServer
FreeTakServer copied to clipboard
Evaluate version of Python to be used in 2.0
Major new features of the 3.11 series, compared to 3.10 Among the new major new features and changes so far:
PEP 657 – Include Fine-Grained Error Locations in Tracebacks PEP 654 – Exception Groups and except* PEP 673 – Self Type PEP 646 – Variadic Generics PEP 680 – tomllib: Support for Parsing TOML in the Standard Library PEP 675 – Arbitrary Literal String Type PEP 655 – Marking individual TypedDict items as required or potentially-missing bpo-46752 – Introduce task groups to asyncio PEP 681 – Data Class Transforms bpo-433030– Atomic grouping ((?>…)) and possessive quantifiers (*+, ++, ?+, {m,n}+) are now supported in regular expressions. The Faster Cpython Project is already yielding some exciting results. Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured a 1.22x speedup on the standard benchmark suite. See Faster CPython for details. (Hey, fellow core developer, if a feature you find important is missing from this list, let Pablo know.) The next pre-release of Python 3.11 will be 3.11.0b5, currently scheduled for Monday, 2022-07-25.
Need to check major differences between 3.10 and 3.11 to see which python version to standardize on.
any progress so far?
Python 3.11 is claimed to be up to 64% faster than 3.10
Differences of versions since 3.8:
3.9 New syntax features:
PEP 584, union operators added to dict;
PEP 585, type hinting generics in standard collections;
PEP 614, relaxed grammar restrictions on decorators.
New built-in features:
PEP 616, string methods to remove prefixes and suffixes.
New features in the standard library:
PEP 593, flexible function and variable annotations;
os.pidfd_open() added that allows process management without races and signals.
3.9 Interpreter improvements:
PEP 573, fast access to module state from methods of C extension types;
PEP 617, CPython now uses a new parser based on PEG;
a number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
garbage collection does not block on resurrected objects;
a number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, math, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
a number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.
3.9 New library modules:
PEP 615, the IANA Time Zone Database is now present in the standard library in the zoneinfo module;
an implementation of a topological sort of a graph is now provided in the new graphlib module.
3.9 Release process changes:
PEP 602, CPython adopts an annual release cycle.
3.10 changes
3.10 features:
PEP 634, Structural Pattern Matching: Specification
PEP 635, Structural Pattern Matching: Motivation and Rationale
PEP 636, Structural Pattern Matching: Tutorial
bpo-12782, Parenthesized context managers are now officially allowed.
3.10 New features in the standard library:
PEP 618, Add Optional Length-Checking To zip.
3.10 Interpreter improvements:
PEP 626, Precise line numbers for debugging and other tools.
3.10 New typing features:
PEP 604, Allow writing union types as X | Y
PEP 613, Explicit Type Aliases
PEP 612, Parameter Specification Variables
Important deprecations, removals or restrictions:
PEP 644, Require OpenSSL 1.1.1 or newer
PEP 632, Deprecate distutils module.
PEP 623, Deprecate and prepare for the removal of the wstr member in PyUnicodeObject.
PEP 624, Remove Py_UNICODE encoder APIs
PEP 597, Add optional EncodingWarning
Check out all the requirements using compatibility Library
check out FTS dependencies here: https://github.com/FreeTAKTeam/FreeTakServer/network/dependencies
see https://jott.live/markdown/py3.11_vs_3.8
Decision to go for Python 3.11