Re: [LFS Trac] #5848: setuptools-80.10.2 (Python module)

"LFS Trac" ([email protected] via lfs-book Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.book
Message-ID <[email protected]>
#5848: setuptools-80.10.2 (Python module)
-------------------------+-----------------------
 Reporter:  Bruce Dubbs  |       Owner:  lfs-book
     Type:  enhancement  |      Status:  closed
 Priority:  normal       |   Milestone:  12.5
Component:  Book         |     Version:  git
 Severity:  normal       |  Resolution:  fixed
 Keywords:               |
-------------------------+-----------------------
Comment (by Bruce Dubbs):

 Changelog 26.0 - 2026-01-20


 Features:

 * PEP 751: support pylock (:pull:`900`)
 * PEP 794: import name metadata (:pull:`948`)
 * Support for writing metadata to a file (:pull:`846`)
 * Support ``__replace__`` on Version (:pull:`1003`)
 * Support positional pattern matching for ``Version`` and ``SpecifierSet``
 (:pull:`1004`)

 Behavior adaptations:

 * PEP 440 handling of prereleases for ``Specifier.contains``,
 ``SpecifierSet.contains``, and ``SpecifierSet.filter`` (:pull:`897`)
 * Handle PEP 440 edge case in ``SpecifierSet.filter`` (:pull:`942`)
 * Adjust arbitrary equality intersection preservation in ``SpecifierSet``
 (:pull:`951`)
 * Return ``False`` instead of raising for ``.contains`` with invalid
 version (:pull:`932`)
 * Support arbitrary equality on arbitrary strings for ``Specifier`` and
 ``SpecifierSet``'s ``filter`` and ``contains`` method. (:pull:`954`)
 * Only try to parse as ``Version`` on certain marker keys, return
 ``False`` on unequal ordered comparisons (:pull:`939`)


 Fixes:

 * Update ``_hash`` when unpickling ``Tag()`` (:pull:`860`)
 * Correct comment and simplify implicit prerelease handling in
 ``Specifier.prereleases`` (:pull:`896`)
 * Use explicit ``_GLibCVersion`` ``NamedTuple`` in ``_manylinux``
 (:pull:`868`)
 * Detect invalid license expressions containing ``()`` (:pull:`879`)
 * Correct regex for metadata ``'name'`` format (:pull:`925`)
 * Improve the message around expecting a semicolon (:pull:`833`)
 * Support nested parens in license expressions (:pull:`931`)
 * Add space before at symbol in ``Requirements`` string (:pull:`953`)
 * A root logger use found, use a ``packaging`` logger instead
 (:pull:`965`)
 * Better support for subclassing ``Marker`` and ``Requirement``
 (:pull:`1022`)
 * Normalize all extras, not just if it comes first (:pull:`1024`)
 * Don't produce a broken repr if ``Marker`` fails to construct
 (:pull:`1033`)

 Performance:

 * Avoid recompiling regexes in the tokenizer for a 3x speedup
 (:pull:`1019`)
 * Improve performance in ``_manylinux.py`` (:pull:`869`)
 * Minor cleanups to ``Version`` (:pull:`913`)
 * Skip redundant creation of ``Version``'s in specifier comparison
 (:pull:`986`)
 * Cache the ``Specifier``'s ``Version`` (:pull:`985`)
 * Make ``Version`` a little faster (:pull:`987`)
 * Minor ``Version`` regex cleanup (:pull:`990`)
 * Faster regex on Python 3.11.5+ for ``Version`` (:pull:`988`,
 :pull:`1055`)
 * Lazily calculate ``_key`` in ``Version`` (:pull:`989`, :pull:`1048`)
 * Faster ``canonicalize_version`` (:pull:`993`)
 * Use ``re.fullmatch`` in a couple more places (:pull:`992`, :pull:`1029`)
 * Use ``map`` instead of generator (:pull:`996`)
 * Deprecate ``._version`` (``_Version``, a ``NamedTuple``) (:pull:`995`,
 :pull:`1062`)
 * Avoid duplicate ``Version`` creation in ``canonicalize_version``
 (:pull:`994`)
 * Add ``__slots__`` to core classes  (:pull:`1001`, :pull:`1002`,
 :pull:`1032`)
 * Use ``Version.__replace__`` in specifier comparison (:pull:`999`)
 * Use ``_get_spec_version`` in more places in ``Specifier`` (:pull:`1005`)
 * Pull ``set`` construction out of function (:pull:`1012`)
 * Letter normalization dict for prereleases and the like (:pull:`1014`)
 * Use ``str.partition`` in ``_parse_project_urls`` (:pull:`1013`)
 * Avoid normalizing extras again when comparing (:pull:`1028`)
 * Speed up ``Version.__str__`` by about 10% (:pull:`997`)
 * Much faster ``canonicalize_name`` by avoiding a regex (:pull:`1030`,
 :pull:`1047`, :pull:`1064`)
 * Faster zero stripping (:pull:`1058`)

 Type annotations:

 * Fix a type annotation (:pull:`907`)
 * Fix type hint of function used with ``contextlib.contextmanager``
 (:pull:`1046`)
 * Fix tags return type in ``parse_wheel_filename`` docs (:pull:`973`)
 * Add type hint for ``_version`` in ``.version.Version`` (:pull:`927`)
 * Changed static type annotations in prereleases setter method in
 ``specifier.py`` (:pull:`930`)
 * Statically type our test suite (:pull:`982`)

 Internal:

 * Test and declare support for Python 3.14 (:pull:`901`)
 * Change our license metadata to use an SPDX license expression
 (:pull:`881`, :pull:`924`)
 * Expand the Ruff checks run on our codebase (:pull:`835`, :pull:`957`,
 :pull:`959`,
   :pull:`963`, :pull:`956`, :pull:`961`, :pull:`964`, :pull:`958`,
 :pull:`960`, :pull:`968`,
   :pull:`967`, :pull:`966`, :pull:`969`, :pull:`980`, :pull:`979`,
 :pull:`962`, :pull:`984`,
   :pull:`972`)
 * Add spell checking (:pull:`904`, :pull:`910`, :pull:`1015`)
 * Improve links back to source in the documentation (:pull:`991`)
 * Add case insensitivity tests for arbitrary equality (:pull:`975`)
 * Fix incorrectly implicitly concatenated string in specifiers test
 (:pull:`946`)
 * Simpler else instead of assert in a check (:pull:`1027`, :pull:`1031`)
 * Synchronize documentation and code for markers (:pull:`1008`)
 * Use the GitHub Actions slim runner for the all pass check (:pull:`1021`)
 * Use ``actionlint`` to check CI workflows (:pull:`1052`)
 * Use Trusted Publishing (:pull:`893`, :pull:`1043`, :pull:`1045`,
 :pull:`1051`)
 * Use zizmor to check CI (:pull:`1035`)
 * Test on first public release of CPython 3.11 and newer (:pull:`1056`)

 Since the final release candidate: Faster ``canonicalize_name``,
 especially on
 Python 3.12 and 3.13, where performance regressed previously
 (:pull:`1064`),
 and reintroduce (deprecated) support for ``Version._.version``
 (:pull:`1062`).
-- 
Ticket URL: <https://wiki.linuxfromscratch.org/lfs/ticket/5848#comment:4>
LFS Trac <https://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.

-- 
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.