If you maintain an open source package, set up a standing search on scholar.google.com for your package name. You'll get gmail notifications of published papers referencing your package.

It's truly gratifying to see students and research teams making use of my pyparsing package to parse data sets and DSLs, so they can quickly get past the pesky parser development stage and get on with the business of their actual field of study. #pyparsing #python #google #oss #opensource

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 3.2.2 cleans up a formerly internal-only utility method make_compressed_re(), and makes it part of the public API. Given a list of strings, it generates a regex to match those strings and only those (so no cheating like ".*").

Here are before/after expressions for matching chemical symbols.

#python #pyparsing #regex

Парсер для подростков с помощью pyparsing

Привет, Хабр! Если ты подросток и начинаешь свой путь в программировании, или просто хочешь понять, как программы анализируют текст и превращают его в структуру, эта статья для тебя. Сегодня поговорим о том, что такое парсер, зачем он нужен и как с помощью библиотеки pyparsing создать свой собственный парсер — основу для мини‑языка. Разберём, как создать парсер для арифметических выражений, добавить поддержку скобок, встроить вычисление выражений, работать с переменными и обрабатывать ошибки.

https://habr.com/ru/companies/otus/articles/887892/

#python #парсер #pyparsing

Парсер для подростков с помощью pyparsing

Привет, Хабр! Если ты подросток и начинаешь свой путь в программировании, или просто хочешь понять, как программы анализируют текст и превращают его в структуру, эта статья...

Хабр

#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

Pyparsing sightings - recent posts/pages using pyparsing (2/2):

- ciscoconfparse parses configuration files for various network devices using pyparsing
https://pypi.org/project/ciscoconfparse2/

- moto is a mocking package for AWS boto API, using pyparsing for an internal infix notation parser
https://github.com/getmoto/moto

- Pegasus SaaS application builder uses pyparsing internally
https://docs.saaspegasus.com/

- EasyABC is an editor for the ABC music notation language
https://github.com/jwdj/EasyABC

#pyparsing #python

Pyparsing sightings - some recent posts/pages using pyparsing (1/2):

- Pyparsing is embedded as a parsing engine for Juniper Networks Junos PyEZ automation environment for smart devices.
https://www.juniper.net/documentation/us/en/software/junos-pyez/junos-pyez-developer/junos-pyez-developer.pdf

- Pyparsing included in the examples for the Python Packaging User Guide.
https://packaging.python.org/en/latest/guides/licensing-examples-and-user-scenarios/

- Papercrawler uses pyparsing to extract metadata from published papers, journals, and conference proceedings.
https://github.com/sucv/paperCrawler

#pyparsing #python #parsing

@jshaffstall I'm glad to hear pyparsing worked so well for you! Check out the pyparsing spinoff project plusminus, which wraps pyparsing's 𝚒𝚗𝚏𝚒𝚡_𝚗𝚘𝚝𝚊𝚝𝚒𝚘𝚗 function in an API. plusminus includes a dice roller in its examples (though it does not include trig functions - that is one crazy dice roll expression!). https://github.com/pyparsing/plusminus #pyparsing
GitHub - pyparsing/plusminus

Contribute to pyparsing/plusminus development by creating an account on GitHub.

GitHub

With the latest 3.2.1 release of pyparsing, I also cleaned up the README for the examples directory. Much improved over the hand-coded HTML from 20+ years ago!

https://github.com/pyparsing/pyparsing/blob/master/examples/README.md

#python #pyparsing

pyparsing/examples/README.md at master · pyparsing/pyparsing

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

GitHub
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