Compare commits

...

1 Commits
1.1 ... main

4 changed files with 179 additions and 9 deletions

BIN
pyparsing-3.0.9.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
pyparsing-3.2.3.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,171 @@
-------------------------------------------------------------------
Thu Apr 10 17:09:14 UTC 2025 - Dirk Müller <dmueller@suse.com>
- 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.
-------------------------------------------------------------------
Tue Feb 4 18:56:03 UTC 2025 - Dirk Müller <dmueller@suse.com>
- 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.
-------------------------------------------------------------------
Mon Oct 28 17:00:03 UTC 2024 - Dirk Müller <dmueller@suse.com>
- 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.
-------------------------------------------------------------------
Sat Aug 31 12:00:10 UTC 2024 - Dirk Müller <dmueller@suse.com>
- 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.
* Fixed bug (and corresponding test code) in `delta_time`
example that did not handle weekday references in time
expressions
* Minor performance speedup in `trim_arity`, to benefit any
parsers using parse actions.
* Added early testing support for Python 3.13 with JIT enabled.
-------------------------------------------------------------------
Sat Mar 16 10:01:30 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 3.1.2:
* Added `ieee_float` expression to `pyparsing.common`, which
parses float values, plus "NaN", "Inf", "Infinity".
* Updated pep8 synonym wrappers for better type checking
compatibility.
* Fixed empty error message bug, PR submitted by InSync (#534).
This _should_ return
pyparsing's exception messages to a former, more helpful
form. If you have code that
parses the exception messages returned by pyparsing, this
may require some code changes.
* Some code refactoring to reduce code nesting, PRs submitted
by InSync.
* All internal string expressions using '%' string
interpolation and `str.format()` converted to f-strings.
-------------------------------------------------------------------
Fri Feb 23 12:23:06 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Use newly supported shrink{} on OBS to exclude python flavors
will all python versions skipped.
-------------------------------------------------------------------
Fri Dec 1 17:06:46 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 3.1.1:
* Fixed regression in Word(min), reported by Ricardo Coccioli,
good catch!
* Fixed bug in bad exception messages raised by Forward
* Fixed regression in SkipTo, where ignored expressions were
not checked when looking for the target expression.
* Fixed type annotation for enable_packrat
* Some general internal code cleanup
- drop limit-error-messages.patch (upstream)
-------------------------------------------------------------------
Tue Jul 11 11:01:42 UTC 2023 - Markéta Machová <mmachova@suse.com>
- Add upstream patch limit-error-messages.patch as a part of
a workaround for boo#1213007
-------------------------------------------------------------------
Sat Jul 1 13:52:01 UTC 2023 - Markéta Machová <mmachova@suse.com>
- update to 3.1.0
* API ENHANCEMENT: `Optional(expr)` may now be written as `expr | ""`
* Added new class property `identifier` to all Unicode set classes in
`pyparsing.unicode`, using the class's values for `cls.identchars`
and `cls.identbodychars`.
* ParseResults` now has a new method `deepcopy()`, in addition to the
current `copy()` method.
* Reworked `delimited_list` function into the new `DelimitedList` class.
* Added new class method `ParserElement.using_each`
* Added new builtin `python_quoted_string`, which will match any form
of single-line or multiline quoted strings defined in Python.
* `ParserElement.validate()` is deprecated.
* Added bool `embed` argument to `ParserElement.create_diagram()`.
* Added support for Python 3.12.
* Updated `create_diagram()` code to be compatible with
railroad-diagrams package version 3.0.
* Many other changes, see upstream CHANGES
-------------------------------------------------------------------
Fri Apr 21 12:31:03 UTC 2023 - Dirk Müller <dmueller@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package python-pyparsing
#
# Copyright (c) 2023 SUSE LLC
# 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
@ -30,8 +30,8 @@
%if "%{flavor}" == ""
%define pprefix python
%{expand:%%define skip_%{primary_python} 1}
# ... unless the build set is empty. (We can't use shrink server-side and any skips here or on project level may have left spaces)
%if "%{pythons}" == "" || "%{pythons}" == " " || "%{pythons}" == " " || "%{pythons}" == " " || "%{pythons}" == " "
# ... unless the build set is empty
%if "%{shrink:%{pythons}}" == ""
# Exclude for local osc build: unresolvable
%define python_module() empty-python-buildset
# Exclude for obs server
@ -56,7 +56,7 @@ ExclusiveArch: do-not-build
%endif
%{?sle15_python_module_pythons}
Name: %{pprefix}-pyparsing%{?psuffix}
Version: 3.0.9
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
@ -69,6 +69,7 @@ BuildRequires: python-rpm-macros
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module jinja2}
BuildRequires: %{python_module matplotlib}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module railroad-diagrams}
%endif
@ -91,6 +92,7 @@ code uses to construct the grammar directly in Python code.
%prep
%setup -q -n %{modname}-%{version}
%autopatch -p1
%if !%{with test}
%build