Subject: CVS commit: pkgsrc/devel/py-pyparsing
From: Adam Ciarcinski
Date: 2024-08-26 16:58:07
Message id: 20240826145807.2416CFC74@cvs.NetBSD.org

Log Message:
py-pyparsing: updated to 3.1.4

Version 3.1.4 - August, 2024
----------------------------
- 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. PR
  submitted by Felix Fontein, nice work!

Version 3.1.3 - August, 2024
----------------------------
- 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.

  Example:

        # add tag indicating mood
        end_punc = "." | ("!" + Tag("enthusiastic")))
        greeting = "Hello" + Word(alphas) + end_punc

        result = greeting.parse_string("Hello World.")
        print(result.dump())

        result = greeting.parse_string("Hello World!")
        print(result.dump())

  prints:

        ['Hello', 'World', '.']

        ['Hello', 'World', '!']
        - enthusiastic: True

- Added example `mongodb_query_expression.py`, to convert human-readable infix query
  expressions (such as `a==100 and b>=200`) and transform them into the equivalent
  query argument for the pymongo package (`{'$and': [{'a': 100}, {'b': {'$gte': \ 
200}}]}`).
  Supports many equality and inequality operators - see the docstring for the
  `transform_query` function for more examples.

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

- Added `<META>` tag to HTML generated for railroad diagrams to force \ 
UTF-8 encoding
  with older browsers, to better display Unicode parser characters.

- Fixed some cosmetics/bugs in railroad diagrams:
  - fixed groups being shown even when `show_groups`=False
  - show results names as quoted strings when `show_results_names`=True
  - only use integer loop counter if repetition > 2

- Some type annotations added for parse action related methods.

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

- `delta_time`, `lua_parser`, `decaf_parser`, and `roman_numerals` examples \ 
cleaned up
  to use latest PEP8 names and add minor enhancements.

- Fixed bug (and corresponding test code) in `delta_time` example that did not handle
  weekday references in time expressions (like "Monday at 4pm") when \ 
the weekday was
  the same as the current weekday.

- Minor performance speedup in `trim_arity`, to benefit any parsers using parse \ 
actions.

- Added early testing support for Python 3.13 with JIT enabled.

Files:
RevisionActionfile
1.33modifypkgsrc/devel/py-pyparsing/Makefile
1.31modifypkgsrc/devel/py-pyparsing/distinfo