Skip to content

Commit

Permalink
Upgrade vendored packaging dependencies. (#2656)
Browse files Browse the repository at this point in the history
With RedBaron replaced by libcst we now have the freedom to do this.
  • Loading branch information
jsirois authored Jan 30, 2025
1 parent 1124b3c commit 740a218
Show file tree
Hide file tree
Showing 49 changed files with 11,492 additions and 7,707 deletions.
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

0 comments on commit 740a218

Please sign in to comment.