- 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
* 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
* 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
- 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
* 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
- 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
* 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