Files
python314/PACKAGING-NOTES
Matej Cepl 089998e4e3 - Summary – Release highlights
Python 3.14 is the latest stable release of the Python
  programming language, with a mix of changes to the language,
  the implementation, and the standard library. The biggest
  changes include template string literals, deferred evaluation
  of annotations, and support for subinterpreters in the standard
  library.
  The library changes include significantly improved capabilities
  for introspection in asyncio, support for Zstandard via a new
  compression.zstd module, syntax highlighting in the REPL, as
  well as the usual deprecations and removals, and improvements
  in user-friendliness and correctness.
  - Interpreter improvements:
    - PEP 649 and PEP 749: Deferred evaluation of annotations
    - PEP 734: Multiple interpreters in the standard library
    - PEP 750: Template strings
    - PEP 758: Allow except and except* expressions without
      brackets
    - PEP 765: Control flow in finally blocks
    - PEP 768: Safe external debugger interface for CPython
    - A new type of interpreter
    - Free-threaded mode improvements
    - Improved error messages
    - Incremental garbage collection
  - Significant improvements in the standard library:
    - PEP 784: Zstandard support in the standard library
    - Asyncio introspection capabilities
    - Concurrent safe warnings control
    - Syntax highlighting in the default interactive shell, and
      color output in several standard library CLIs

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=104
2025-10-08 09:45:59 +00:00

27 lines
1.1 KiB
Plaintext

Notes for packagers of Python3
==============================
0. Faster build turnaround
--------------------------
By default, python builds with profile-guided optimization. This needs
an additional run of the test suite and it is generally slow.
PGO build takes around 50 minutes.
For development, use "--without profileopt" option to disable PGO. This
shortens the build time to ~5 minutes including test suite.
1. import_failed.map
----------------------
This is a mechanism installed as part of python3-base, that places shim modules
on python's path (through a generated zzzz-import-failed-hooks.pth file, so that
it is imported as much at the end as makes sense; and an _import_failed subdir
of /usr/lib/pythonX.Y). Then when the user tries to import a module that is part
of a subpackage, the ImportError will contain a helpful message telling them
which missing subpackage to install.
This can sometimes cause problems on non-standard configurations, if the pth
gets included too early (for instance if you are using a script to include all
pths by hand in some strange order). Just something to look out for.