#pyparsing — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #pyparsing, aggregated by home.social.
-
More projects using #pyparsing:
- ASE2SPRKKR: a unified Python framework integrating the Spin-Polarized Relativistic Korringa-Kohn-Rostoker method into the Atomic Simulation Environment - generates Pyparsing parsers to process input data files
https://arxiv.org/pdf/2608.05957
https://github.com/ase2sprkkr/ase2sprkkr
- dqc_simulator: an easy-to-use distributed quantum computing simulator - uses pyparsing to implement a command API to the NetSquid package
https://arxiv.org/pdf/2604.13909
https://github.com/km-campbell/dqc_simulator -
Just reran #pyparsing's unit tests with Python 3.15b03 with both GIL-enabled and free-threaded versions, all tests completed successfully.
-
This past week I cited a merged PR in the CHANGES file for #pyparsing as "submitted by <author> et AI." #python #ai
-
Pyparsing-based regex inverter (a static page written using PyScript) is live at https://ptmcg.github.io/regex_inverter/ #python #pyparsing #regularexpressions #regex
-
Just once I'd like to push a x.x.0 release of pyparsing and not have to push x.x.1 within 24 hours. (Check out 3.3.1 release, includes AI instructions, TINY language parser, diagram, runner, and REPL, new DeprecationWarnings for camelCase names - time to switch to snake_case, and fixes packaging error in 3.3.0) #python #pyparsing #programming
-
I just published pyparsing version 3.3.0b1, with some significant additions:
- example parser/interpreter of the TINY language (with AI transcript showing prompts and corresponding AI plans and actions)
- performance tests with scripts to run and tabulate results using pyparsing 3.1-3.3 and Python 3.9-3.14Github link: https://github.com/pyparsing/pyparsing/releases/tag/3.3.0b1
Attached image is a TINY script to find prime numbers.
-
The upcoming 3.3.0 release of pyparsing will include AI instructions for best practices when using this package. They can be accessed from the command-line using `python -m pyparsing.ai.show_best_practices` (They work for human developers too.) #python #pyparsing #ai
-
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.
-
Парсер для подростков с помощью 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 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 -
@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
-
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
-
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" -
Pyparsing 3.2.0 pushed to pypi! See the docs at https://pyparsing-docs.readthedocs.io/en/3.2.0_docs/ , including "What's New" sections going back to 3.0. Note: this version drops support for Python < 3.9, so give it a look if your project uses it! #python #parsing #pyparsing
-
Pyparsing 3.2.0rc1 is now out. There are a lot of nice things and bugfixes in this release - please check it out (and see if any of the breaking changes affect your code): https://github.com/pyparsing/pyparsing/releases/tag/3.2.0rc1 #python #pyparsing
-
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: https://github.com/pyparsing/pyparsing #python
-
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: https://github.com/pyparsing/pyparsing/releases/tag/3.2.0b1
-
Take 2 on the mongodb query expression transformer - I had basic scalar expression logic working before, but had a couple of bugs in working with arrays. Also added support for embedded docs and regex matching. Wrote a 25-line repl to take my human-readable queries, convert to Mongo's nested dict query and run find() against their mflix learning dataset, running in a local Docker container. #python #pyparsing #mongodb
-
Refreshing my MongoDB skills this week, and I remember thinking it would be nice to have a converter for query expressions, to transform normal infix notation into the nested dict used by the `collection.find()` function. So here is the output of a pyparsing program to do that. See the before/after examples below. The script is included in the pyparsing examples directory at https://github.com/pyparsing/pyparsing/blob/master/examples/mongodb_query_expression.py #python #pyparsing #mongodb
-
A balanced testimonial from a new #pyparsing user: "I'm not gonna sugarcoat that pyparsing might need more examples on documents for dummies like me who had to search hours how to use line_end/LineEnd() from zero base - But darn, this is one very interactive and fun way to create parser! Begone, the pain of YACC and Lexer! I now will die using this for all the parser need I'll ever have in lifetime!" That's good enough for me! :D [posted as a comment on the SO answer: https://stackoverflow.com/a/78697404/165216]
-
Just to report that my 3 open source packages pyparsing, littletable, and logmerger (and by extension, textual, which is used by logmerger) all run successfully on Python 3.13b2 (default build) #python #python313 #pyparsing #littletable #logmerger #textual
-
Got an issue submitted for pyparsing this week, and it retraces some steps I've written up before. So I put together another pyparsing blog post, walking through this common pitfall for pyparsing beginners: https://thingspython.wordpress.com/2024/06/01/repetition-in-pyparsing-why-is-it-so-dumb/ #python #pyparsing #parsing
-
And, the 1000th pyparsing question was just posted on SO, and it's a nice one! Plus, it was answered by 31-rep user aRTy! (with only a slight bug in their answer, but they had the right idea) https://stackoverflow.com/questions/78430312/how-to-get-pyparsing-to-match-1-day-or-2-days-but-fail-1-days-and-2-day #pyparsing #python
-
Pyparsing 3.1.2 released, with some useful bugfixes (and support for Python 3.13):
- fixed empty error message bug introduced in 3.1.1
- better typing support for PEP8 synonym wrappers
- new `ieee_float` numeric expression in pyparsing.common (adds handling of `NaN`, `Inf`, etc.)
- some code cleanup in the examples directory; all internal string formatting converted to f-stringsInfo at: https://github.com/pyparsing/pyparsing/releases/tag/pyparsing_3.1.2
-
On a related note, this weekend I learned that my Python library #pyparsing is being used as part of the user interface to Microsoft Guidance, a templating package for automating interactions with Large Language Models.https://pub.towardsai.net/inside-guidance-microsofts-new-open-source-framework-for-improving-the-control-in-llm-apps-3e5e4158027a #python #llms #microsoft