15
0

13 Commits

Author SHA256 Message Date
d9604946ae Accepting request 1329156 from devel:languages:python
- update to 3.3.2:
  * Defined pyparsing-specific warning classes so that they can
    be selectively enabled or disabled without affecting warnings
    raised by other libraries in the same Python
  * Added `as_datetime` parse action to `pyparsing.common` - a
    more generalized version of the `convert_to_datetime` parse
    action (supports any expression that extracts date/time fields
    into "year", "month", "day", etc. results names), and validates
    that the parsed fields represent a valid date and time.
  * Added `iso8601_date_validated` and `iso8601_datetime_validated`
    expressions to `pyparsing.common`, which return a Python
    `datetime.datetime`
  * Various performance improvements in `ParseResults` class and
    core functions, with 10-20% performance overall.
  * Added `regex_inverter` web page (using PyScript) to
    demonstrate using the `inv_regex.py` example.
  *  The version 3.3.0 release will begin emitting
    `DeprecationWarnings` for pyparsing methods
     that have been renamed to PEP8-compliant names (introduced
     in pyparsing 3.0.0, in August, 2021, with legacy names
     retained as aliases). In preparation, I added in pyparsing
     3.2.2 a utility for finding and replacing the legacy method
     names with the new names.
  * Deprecated `indentedBlock`, when converted using the
    `cvt_pyparsing_pep8_names` utility, will emit `UserWarnings`
    that additional code changes will be required.
  * Deprecated `locatedExpr`, when converted using the
    `cvt_pyparsing_pep8_names` utility, will emit `UserWarnings`
    that additional code changes may be required.
  * Updated all examples and test cases to use PEP8 names (unless

OBS-URL: https://build.opensuse.org/request/show/1329156
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=55
2026-01-27 15:06:42 +00:00
a72dfa69ee - update to 3.3.2:
* Defined pyparsing-specific warning classes so that they can
    be selectively enabled or disabled without affecting warnings
    raised by other libraries in the same Python
  * Added `as_datetime` parse action to `pyparsing.common` - a
    more generalized version of the `convert_to_datetime` parse
    action (supports any expression that extracts date/time fields
    into "year", "month", "day", etc. results names), and validates
    that the parsed fields represent a valid date and time.
  * Added `iso8601_date_validated` and `iso8601_datetime_validated`
    expressions to `pyparsing.common`, which return a Python
    `datetime.datetime`
  * Various performance improvements in `ParseResults` class and
    core functions, with 10-20% performance overall.
  * Added `regex_inverter` web page (using PyScript) to
    demonstrate using the `inv_regex.py` example.
  *  The version 3.3.0 release will begin emitting
    `DeprecationWarnings` for pyparsing methods
     that have been renamed to PEP8-compliant names (introduced
     in pyparsing 3.0.0, in August, 2021, with legacy names
     retained as aliases). In preparation, I added in pyparsing
     3.2.2 a utility for finding and replacing the legacy method
     names with the new names.
  * Deprecated `indentedBlock`, when converted using the
    `cvt_pyparsing_pep8_names` utility, will emit `UserWarnings`
    that additional code changes will be required.
  * Deprecated `locatedExpr`, when converted using the
    `cvt_pyparsing_pep8_names` utility, will emit `UserWarnings`
    that additional code changes may be required.
  * Updated all examples and test cases to use PEP8 names (unless

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=115
2026-01-26 08:13:02 +00:00
416f8b0fab Accepting request 1320161 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1320161
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=54
2025-11-27 14:17:49 +00:00
759831016e - Update to 3.2.5
* JINX! Well, 3.2.4 had a bug for `Word` expressions that include a space
    character, if that expression was then copied, either directly with .copy() or
    by adding a results name, or included in another construct (like `DelimitedList`)
    that makes a copy internally. Issue #618, reported by mstinberg, among others -
    thanks, and sorry for the inconvenience.
- from version 3.2.4
  * Barring any catastrophic bugs in this release, this will be the last release in
    the 3.2.x line. The next release, 3.3.0, will begin emitting `DeprecationWarnings`
    when the pre-PEP8 methods are used (see header notes above for more information,
    including available automation for converting any existing code using
    pyparsing with the old names).
  * Fixed bug when using a copy of a `Word` expression (either by using the explicit
    `copy()` method, or attaching a results name), and setting a new expression name,
    a raised `ParseException` still used the original expression name. Also affected
    `Regex` expressions with `as_match` or `as_group_list` = True. Reported by
    Waqas Ilyas, in Issue #612 - good catch!
  * Fixed type annotation for `replace_with`, to accept `Any` type. Fixes Issue #602,
    reported by esquonk.
  * Added locking around potential race condition in `ParserElement.reset_cache`, as
    well as other cache-related methods. Fixes Issue #604, reported by CarlosDescalziIM.
  * Substantial update to docstrings and doc generation in preparation for 3.3.0,
    great effort by FeRD, thanks!
  * Notable addition by FeRD to convert docstring examples to work with doctest! This
    was long overdue, thanks so much!

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=113
2025-11-26 11:27:44 +00:00
dd1457129d Accepting request 1268466 from devel:languages:python
- update to 3.2.3:
  * Fixed bug released in 3.2.2 in which `nested_expr` could
    overwrite parse actions for defined content, and could truncate
    list of items within a nested list.
  * Released `cvt_pyparsing_pep8_names.py` conversion utility to
    upgrade pyparsing-based programs and libraries that use legacy
    camelCase names to use the new PEP8-compliant
    snake_case method names.
  * Fixed bug in `nested_expr` where nested contents were
    stripped of whitespace when the default whitespace characters
    were cleared
  * Fixed bug in `rest_of_line` and the underlying `Regex` class,
    in which matching a pattern that could match an empty string
    (such as `".*"` or `"[A-Z]*"` would not raise
    a `ParseException` at or beyond the end of the input
    string. This could cause an
    infinite parsing loop when parsing `rest_of_line` at the
    end of the input string.
  * Fixed syntax warning raised in `bigquery_view_parser.py`,
    invalid escape sequence "\s".
  * Added support for Python 3.14.

OBS-URL: https://build.opensuse.org/request/show/1268466
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=53
2025-04-11 14:45:56 +00:00
a2473d2d8d - update to 3.2.3:
* Fixed bug released in 3.2.2 in which `nested_expr` could
    overwrite parse actions for defined content, and could truncate
    list of items within a nested list.
  * Released `cvt_pyparsing_pep8_names.py` conversion utility to
    upgrade pyparsing-based programs and libraries that use legacy
    camelCase names to use the new PEP8-compliant
    snake_case method names.
  * Fixed bug in `nested_expr` where nested contents were
    stripped of whitespace when the default whitespace characters
    were cleared
  * Fixed bug in `rest_of_line` and the underlying `Regex` class,
    in which matching a pattern that could match an empty string
    (such as `".*"` or `"[A-Z]*"` would not raise
    a `ParseException` at or beyond the end of the input
    string. This could cause an
    infinite parsing loop when parsing `rest_of_line` at the
    end of the input string.
  * Fixed syntax warning raised in `bigquery_view_parser.py`,
    invalid escape sequence "\s".
  * Added support for Python 3.14.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=111
2025-04-10 17:10:44 +00:00
b64aba0d51 Accepting request 1245159 from devel:languages:python
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1245159
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=52
2025-02-12 20:30:59 +00:00
86a1d6ffc9 - update to 3.2.1:
* Updated generated railroad diagrams to make non-terminal
    elements links to their related sub-diagrams. This _greatly_
    improves navigation of the diagram, especially for
    large, complex parsers.
  * Simplified railroad diagrams emitted for parsers using
    `infix_notation`, by hiding lookahead terms. Renamed
    internally generated expressions for clarity, and improved
    diagramming.
  * Improved performance of `cpp_style_comment`,
    `c_style_comment`, `common.fnumber`
    and `common.ieee_float` Regex expressions.
  * Add missing type annotations to `match_only_at_col`,
    `replace_with`, `remove_quotes`, `with_attribute`, and
    `with_class`. Issue #585 reported by rafrafrek.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=109
2025-02-04 18:56:45 +00:00
2cc21bd34a Accepting request 1225956 from devel:languages:python
- update to 3.2.0:
  * Discontinued support for Python 3.6, 3.7, and 3.8. Adopted
    new Python features from Python versions 3.7-3.9:
    - Updated type annotations to use built-in container types
      instead of names imported from the `typing` module
      (e.g., `list[str]` vs `List[str]`).
    - Reworked portions of the packrat cache to leverage
      insertion-preserving ordering in dicts (including removal of
      uses of `OrderedDict`).
    - Changed `pdb.set_trace()` call in `ParserElement.set_break()`
      to `breakpoint()`.
    - Converted `typing.NamedTuple` to `dataclasses.dataclass`
      in railroad diagramming code.
    - Added `from __future__ import annotations` to clean up
      some type annotations.

OBS-URL: https://build.opensuse.org/request/show/1225956
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=51
2024-11-26 19:55:19 +00:00
e6c282814f OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=107 2024-11-23 08:34:40 +00:00
d6ca0e168d - update to 3.2.0:
* Discontinued support for Python 3.6, 3.7, and 3.8. Adopted
    new Python features from Python versions 3.7-3.9:
    - Updated type annotations to use built-in container types
      instead of names imported from the `typing` module
      (e.g., `list[str]` vs `List[str]`).
    - Reworked portions of the packrat cache to leverage
      insertion-preserving ordering in dicts (including removal of
      uses of `OrderedDict`).
    - Changed `pdb.set_trace()` call in `ParserElement.set_break()`
      to `breakpoint()`.
    - Converted `typing.NamedTuple` to `dataclasses.dataclass`
      in railroad diagramming code.
    - Added `from __future__ import annotations` to clean up
      some type annotations.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=106
2024-10-28 17:01:14 +00:00
d06fc1910d Accepting request 1198050 from devel:languages:python
- update to 3.1.4:
  * Fix to type annotation that referenced `re.Pattern`. Since
    this type was introduced in Python 3.7, using this type
    definition broke Python 3.6 installs of pyparsing.
  * Added new `Tag` ParserElement, for inserting metadata into
    the parsed results.
    This allows a parser to add metadata or annotations to the
    parsed tokens.
  * The `Tag` element also accepts an optional `value`
    parameter, defaulting to `True`.
    See the new `tag_metadata.py` example in the `examples`
    directory.
  * Fixed issue where PEP8 compatibility names for
    `ParserElement` static methods were
    not themselves defined as `staticmethods`. When called
    using a `ParserElement` instance, this resulted  in a
   `TypeError` exception.
  * To address a compatibility issue in RDFLib, added a property
    setter for the `ParserElement.name` property, to call
    `ParserElement.set_name`.
  * Modified `ParserElement.set_name()` to accept a None value,
    to clear the defined name and corresponding error message for
    a `ParserElement`.
  * Updated railroad diagram generation for `ZeroOrMore` and
    `OneOrMore` expressions with `stop_on` expressions, while
    investigating #558
  * Added exception type to `trace_parse_action` exception
    output, while investigating SO question posted by medihack.
  * Added `set_name` calls to internal expressions generated in
    `infix_notation`, for improved railroad diagramming.

OBS-URL: https://build.opensuse.org/request/show/1198050
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=50
2024-09-03 11:37:05 +00:00
b94867e9fb - update to 3.1.4:
* Fix to type annotation that referenced `re.Pattern`. Since
    this type was introduced in Python 3.7, using this type
    definition broke Python 3.6 installs of pyparsing.
  * Added new `Tag` ParserElement, for inserting metadata into
    the parsed results.
    This allows a parser to add metadata or annotations to the
    parsed tokens.
  * The `Tag` element also accepts an optional `value`
    parameter, defaulting to `True`.
    See the new `tag_metadata.py` example in the `examples`
    directory.
  * Fixed issue where PEP8 compatibility names for
    `ParserElement` static methods were
    not themselves defined as `staticmethods`. When called
    using a `ParserElement` instance, this resulted  in a
   `TypeError` exception.
  * To address a compatibility issue in RDFLib, added a property
    setter for the `ParserElement.name` property, to call
    `ParserElement.set_name`.
  * Modified `ParserElement.set_name()` to accept a None value,
    to clear the defined name and corresponding error message for
    a `ParserElement`.
  * Updated railroad diagram generation for `ZeroOrMore` and
    `OneOrMore` expressions with `stop_on` expressions, while
    investigating #558
  * Added exception type to `trace_parse_action` exception
    output, while investigating SO question posted by medihack.
  * Added `set_name` calls to internal expressions generated in
    `infix_notation`, for improved railroad diagramming.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=104
2024-08-31 12:02:09 +00:00
4 changed files with 92 additions and 5 deletions

Binary file not shown.

3
pyparsing-3.3.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc
size 6851574

View File

@@ -1,3 +1,90 @@
-------------------------------------------------------------------
Mon Jan 26 08:09:46 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 3.3.2:
* Defined pyparsing-specific warning classes so that they can
be selectively enabled or disabled without affecting warnings
raised by other libraries in the same Python
* Added `as_datetime` parse action to `pyparsing.common` - a
more generalized version of the `convert_to_datetime` parse
action (supports any expression that extracts date/time fields
into "year", "month", "day", etc. results names), and validates
that the parsed fields represent a valid date and time.
* Added `iso8601_date_validated` and `iso8601_datetime_validated`
expressions to `pyparsing.common`, which return a Python
`datetime.datetime`
* Various performance improvements in `ParseResults` class and
core functions, with 10-20% performance overall.
* Added `regex_inverter` web page (using PyScript) to
demonstrate using the `inv_regex.py` example.
* The version 3.3.0 release will begin emitting
`DeprecationWarnings` for pyparsing methods
that have been renamed to PEP8-compliant names (introduced
in pyparsing 3.0.0, in August, 2021, with legacy names
retained as aliases). In preparation, I added in pyparsing
3.2.2 a utility for finding and replacing the legacy method
names with the new names.
* Deprecated `indentedBlock`, when converted using the
`cvt_pyparsing_pep8_names` utility, will emit `UserWarnings`
that additional code changes will be required.
* Deprecated `locatedExpr`, when converted using the
`cvt_pyparsing_pep8_names` utility, will emit `UserWarnings`
that additional code changes may be required.
* Updated all examples and test cases to use PEP8 names (unless
the test case is specifically designed to test behavior of a
legacy method). Added railroad diagrams for some examples.
* Added exception handling when calling `formatted_message()`,
so that `str(exception)` always returns at least _something_.
* All unit tests pass with Python 3.14, including 3.14t. This
does _not_ necessarily mean that pyparsing is now thread-safe,
just that when run in the free-threaded interpreter, there
were no errors. None of the unit tests try to do any parsing
with multiple threads - they test the basic functionality
of the library, under various versions of packrat and
left-recursive parsing.
* Added AI instructions so that AI agents can be prompted with
best practices for generating parsers using pyparsing code.
* Implemented a TINY language parser/interpreter using
pyparsing, in the `examples/tiny` directory. This is a little
tutorial language that I used to demonstrate how to use pyparsing to
build a simple interpreter, following a recommended
parser+AST+engine+run structure.
* Fixed minor formatting bugs in
`pyparsing.testing.with_line_numbers`, found during
development of the TINY language example.
* Added test in `DelimitedList` and `nested_expr` which auto-
suppress delimiting commas to avoid wrapping in a `Suppress`
if delimiter is already a `Suppress`.
-------------------------------------------------------------------
Wed Nov 26 10:48:14 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 3.2.5
* JINX! Well, 3.2.4 had a bug for `Word` expressions that include a space
character, if that expression was then copied, either directly with .copy() or
by adding a results name, or included in another construct (like `DelimitedList`)
that makes a copy internally. Issue #618, reported by mstinberg, among others -
thanks, and sorry for the inconvenience.
- from version 3.2.4
* Barring any catastrophic bugs in this release, this will be the last release in
the 3.2.x line. The next release, 3.3.0, will begin emitting `DeprecationWarnings`
when the pre-PEP8 methods are used (see header notes above for more information,
including available automation for converting any existing code using
pyparsing with the old names).
* Fixed bug when using a copy of a `Word` expression (either by using the explicit
`copy()` method, or attaching a results name), and setting a new expression name,
a raised `ParseException` still used the original expression name. Also affected
`Regex` expressions with `as_match` or `as_group_list` = True. Reported by
Waqas Ilyas, in Issue #612 - good catch!
* Fixed type annotation for `replace_with`, to accept `Any` type. Fixes Issue #602,
reported by esquonk.
* Added locking around potential race condition in `ParserElement.reset_cache`, as
well as other cache-related methods. Fixes Issue #604, reported by CarlosDescalziIM.
* Substantial update to docstrings and doc generation in preparation for 3.3.0,
great effort by FeRD, thanks!
* Notable addition by FeRD to convert docstring examples to work with doctest! This
was long overdue, thanks so much!
-------------------------------------------------------------------
Thu Apr 10 17:09:14 UTC 2025 - Dirk Müller <dmueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-pyparsing
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -56,7 +56,7 @@ ExclusiveArch: do-not-build
%endif
%{?sle15_python_module_pythons}
Name: %{pprefix}-pyparsing%{?psuffix}
Version: 3.2.3
Version: 3.3.2
Release: 0
Summary: Grammar Parser Library for Python
License: GPL-2.0-or-later AND MIT AND GPL-3.0-or-later