17
0

9 Commits

Author SHA256 Message Date
a77ddccc3a 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
1e7e185b5a - 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
3b79ca4210 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
3612c06a0b - 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
dda5c4b131 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
f1e1133bba 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
e94e2f61f0 - 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
bdb7850845 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
35175ca103 - 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 5 additions and 92 deletions

BIN
pyparsing-3.2.3.tar.gz LFS Normal file

Binary file not shown.

View File

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

View File

@@ -1,90 +1,3 @@
-------------------------------------------------------------------
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) 2026 SUSE LLC and contributors
# Copyright (c) 2025 SUSE LLC
#
# 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.3.2
Version: 3.2.3
Release: 0
Summary: Grammar Parser Library for Python
License: GPL-2.0-or-later AND MIT AND GPL-3.0-or-later