writing.exchange is one of the many independent Mastodon servers you can use to participate in the fediverse.
A small, intentional community for poets, authors, and every kind of writer.

Administered by:

Server stats:

336
active users

#pyparsing

0 posts0 participants0 posts today

Well, I had a minor stumble releasing #pyparsing 3.2.2 this past weekend, with a bug (Issue #600) that snuck past several thousand unit tests. So I added 1 new test with several hundred new cases that caught that bug, then fixed it (and a sibling bug 10 lines of code away from the first one). Great immediate notice of failing CI pipelines from diligent users, I was able to get 3.2.3 out with the fix Monday evening. And all's right with the world again (the #Python world, anyway).

#Pyparsing API going back to version 1.0.0 (2003) has used a camelCase name scheme for its methods and argument names. In versions 3.0-3.1 (Oct 2021-Jun 2023), I added PEP8-compliant snake_case names, while maintaining synonym definitions for the legacy names for backward compatibility.

Soon, pyparsing will begin emitting DeprecationWarnings for the legacy names. To ease this transition, the next release 3.2.2 will include a utility to convert in place scripts that use the legacy names. #python

I just released pyparsing 3.2.1 with a very cool addition to the railroad diagrams that pyparsing generates for its parsers - non-terminal diagram elements now link to their definitions elsewhere in the diagram! This is pretty handy when the diagram is for a complex parser, as in this demo of a parser/evaluator for time references like "3 weeks from today" or "0800 two days from now" or "in exactly twenty-four hours". #pyparsing #python #parser #railroaddiagram

I'm seeing a number of responses from pyparsing users (or matplotlib users) that they are getting a version of pyparsing that is not compatible with their version of Python (they are running Python 3.8 or older, but the new pyparsing release requires Python 3.9 or later). After some experimenting, I found this `requirements.txt` to help in selecting the right pyparsing version:

matplotlib
pyparsing>=3.2;python_version>="3.9"
pyparsing>=3.1;python_version<"3.9"

Attention #pyparsing users: I just pushed release 3.2.0b3, which will be the last beta before I push out 3.2.0. This includes:

- POSSIBLE BREAKING CHANGE: Fixed bug in `transform_string()` where whitespace in the input string was not properly preserved in the output string.

- `mypy` type checking is now run as part of pyparsing's CI.

- Exception message format can now be customized, by overriding `ParseBaseException.format_message`.

Full release notes here: github.com/pyparsing/pyparsing #python

GitHubGitHub - pyparsing/pyparsing: Python library for creating PEG parsersPython library for creating PEG parsers. Contribute to pyparsing/pyparsing development by creating an account on GitHub.

Attention pyparsing users: I just pushed release 3.2.0b1 which mostly just drops support for Python 3.6-3.8, but also changes some exception messages. Please give this release a try before I push the final release in early October.

Also includes:
- some nice enhancements to mongodb_query_expression.py
- a parser for the Lox language defined in Robert Nystrom's "Crafting Interpreters"

Full release notes here: github.com/pyparsing/pyparsing

GitHubRelease Pyparsing 3.2.0b1 · pyparsing/pyparsingDiscontinued 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...

I just pushed release 3.1.0b1 of pyparsing. 3.1.0 will include support for python 3.12, and will be the last release to support 3.6 and 3.7. If your project uses pyparsing, *please* download this beta release (using "pip install -U pyparsing==3.1.0b1") and open any compatibility issues you might have at the pyparsing GitHub repo (github.com/pyparsing/pyparsing). #pyparsing #python

GitHubGitHub - pyparsing/pyparsing: Python library for creating PEG parsersPython library for creating PEG parsers. Contribute to pyparsing/pyparsing development by creating an account on GitHub.