Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade vendored packaging dependencies. #2656

Merged
merged 3 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions pex/vendor/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,13 +235,18 @@ def iter_vendor_specs(filter_requires_python=None):
"packaging", "20.9", import_path="packaging_20_9", constraints=("pyparsing<3",)
)
if not python_major_minor or python_major_minor == (3, 6):
# N.B.: The pyparsing constraint is needed because our import re-writer (RedBaron) chokes on
# newer versions.
# N.B.: Introduced to add support for musllinux wheels via:
# https://github.com/pex-tool/pex/issues/1933
# N.B.: The pyparsing constraint is needed for 3.6 support.
yield VendorSpec.pinned(
"packaging", "21.3", import_path="packaging_21_3", constraints=("pyparsing<3",)
"packaging", "21.3", import_path="packaging_21_3", constraints=("pyparsing<3.0.8",)
)
if not python_major_minor or python_major_minor >= (3, 7):
yield VendorSpec.pinned("packaging", "23.1", import_path="packaging_23_1")
# Modern packaging for everyone else.
# N.B.: We can't upgrade past 24.0 without re-working marker evaluation for
# AbbreviatedPlatform since modern versions of packaging unconditionally assume the
# `python_full_version` marker will always be populated.
yield VendorSpec.pinned("packaging", "24.0", import_path="packaging_24_0")

# We use toml to read pyproject.toml when building sdists from local source projects.
# The toml project provides compatibility back to Python 2.7, but is frozen in time in 2020
Expand Down
2 changes: 1 addition & 1 deletion pex/vendor/_vendored/packaging_21_3/.layout.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"fingerprint": "cab252202e7be970bad6b45497b8967cfb9a2759e6071eb30119be7b9fff62e1", "record_relpath": "packaging-21.3.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
{"fingerprint": "84b4c176f8bac2d9fc042dd1618394580af666252a61e1d88544b4f6bbf66523", "record_relpath": "packaging-21.3.dist-info/RECORD", "root_is_purelib": true, "stash_dir": ".prefix"}
2 changes: 1 addition & 1 deletion pex/vendor/_vendored/packaging_21_3/constraints.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
packaging==21.3
pyparsing==2.4.7
pyparsing==3.0.7
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Metadata-Version: 2.1
Name: pyparsing
Version: 2.4.7
Version: 3.0.7
Summary: Python parsing module
Home-page: https://github.com/pyparsing/pyparsing/
Author: Paul McGuire
Author-email: ptmcg@users.sourceforge.net
Author-email: ptmcg.gm+pyparsing@gmail.com
License: MIT License
Download-URL: https://pypi.org/project/pyparsing/
Platform: UNKNOWN
Expand All @@ -14,22 +14,25 @@ Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=2.6, !=3.0.*, !=3.1.*, !=3.2.*
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
Provides-Extra: diagrams
Requires-Dist: jinja2 ; extra == 'diagrams'
Requires-Dist: railroad-diagrams ; extra == 'diagrams'

PyParsing -- A Python Parsing Module
====================================

|Build Status|
|Build Status| |Coverage|

Introduction
============
Expand All @@ -42,8 +45,9 @@ Python code.

*[Since first writing this description of pyparsing in late 2003, this
technique for developing parsers has become more widespread, under the
name Parsing Expression Grammars - PEGs. See more information on PEGs at*
https://en.wikipedia.org/wiki/Parsing_expression_grammar *.]*
name Parsing Expression Grammars - PEGs. See more information on PEGs*
`here <https://en.wikipedia.org/wiki/Parsing_expression_grammar>`__
*.]*

Here is a program to parse ``"Hello, World!"`` (or any greeting of the form
``"salutation, addressee!"``):
Expand All @@ -63,7 +67,8 @@ The Python representation of the grammar is quite readable, owing to the
self-explanatory class names, and the use of '+', '|' and '^' operator
definitions.

The parsed results returned from ``parseString()`` can be accessed as a
The parsed results returned from ``parseString()`` is a collection of type
``ParseResults``, which can be accessed as a
nested list, a dictionary, or an object with named attributes.

The pyparsing module handles some of the problems that are typically
Expand All @@ -81,24 +86,24 @@ Documentation
=============

There are many examples in the online docstrings of the classes
and methods in pyparsing. You can find them compiled into online docs
at https://pyparsing-docs.readthedocs.io/en/latest/. Additional
and methods in pyparsing. You can find them compiled into `online docs <https://pyparsing-docs.readthedocs.io/en/latest/>`__. Additional
documentation resources and project info are listed in the online
GitHub wiki, at https://github.com/pyparsing/pyparsing/wiki. An
entire directory of examples is at
https://github.com/pyparsing/pyparsing/tree/master/examples.
`GitHub wiki <https://github.com/pyparsing/pyparsing/wiki>`__. An
entire directory of examples can be found `here <https://github.com/pyparsing/pyparsing/tree/master/examples>`__.

License
=======

MIT License. See header of pyparsing.py
MIT License. See header of the `pyparsing.py <https://github.com/pyparsing/pyparsing/blob/master/pyparsing/__init__.py#L1-L23>`__ file.

History
=======

See CHANGES file.
See `CHANGES <https://github.com/pyparsing/pyparsing/blob/master/CHANGES>`__ file.

.. |Build Status| image:: https://travis-ci.org/pyparsing/pyparsing.svg?branch=master
:target: https://travis-ci.org/pyparsing/pyparsing
.. |Build Status| image:: https://github.com/pyparsing/pyparsing/actions/workflows/ci.yml/badge.svg
:target: https://github.com/pyparsing/pyparsing/actions/workflows/ci.yml
.. |Coverage| image:: https://codecov.io/gh/pyparsing/pyparsing/branch/master/graph/badge.svg
:target: https://codecov.io/gh/pyparsing/pyparsing


Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.34.2)
Generator: bdist_wheel (0.36.2)
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any

Loading