Feedback from Users

Here are some comments from people who have tried pyparsing:

"Having made an attempt at using yacc/lex (which didn't end very well) I think pyparsing is quite easy. I haven't done any major work with it, but I have implemented some small test parsers just to get the hang of it. It was very easy to get started with. I am however a beginner when it comes to using python..."

"I have updated and have everything working - your module does the job nicely and I find it easier to follow than other methods of achieving the same result."

"Pyparsing is very interesting, and thank you for releasing it. I've been eager to get beyond the 'regexp and replace' naive parsing and data munging that I've been doing, but never had the time to really dig in with parser frameworks and become productive in them. Pyparsing looks like it will be easy enough for me to give it a try in the coming months."

"I have no formal education in Computer Science, so I struggled with quite some parsers and text processors before.... Your parsing really FEELS natural; and I was able to extend parsing structures 10 minutes after downloading and installing. GREAT work!!"

"I've been exploring several python parsing modules and I really like the clean and easy syntax of pyparsing."

"pyparsing looks great! ... way cool and I was able to get system_charts parsed fairly easily."

"It's been a joy to work with pyparsing."

"Pyparsing is quite a bit nicer [than lex/yacc and JavaCC]. Even though I hadn't used it before either, it was quite a lot easier to set it all up. And happily enough, it all worked more or less first time."

"I like the fact that [pyparsing]
- is pure python
- requires no code generation
- seemed small and understandable
Pyparsing seems very nice, I will be recommending it to others."

"I'm found your excelent parser just a night ago, but already wrote a simple parse module, it's great!"

"Before finding this, I've looked into lots of other solutions for Ruby and Python. [pyparsing] feels it's the Python way of doing things."

"Thanks for writing such a great module. I just started using it and I think it's a fantastic toolset."

"Thanks again for your help and thanks for writing pyparser! It seems my code needed to be optimized and now I am able to parse a 200mb file in 3 seconds. Now I can stick my tongue out at the Perl guys ;)"

"[pyparsing] seems to me very easy to use, little time and very few lines of code I was able to change fourFn to parse the five binary operations, unary minus, comparisions, the C++ "?:" ternary opertor, variable reading and writing (but with assignment being "statement" and not an operator like in python) and generating as output a list of opcodes for a stack based VM including jump codes for "?:" (and this without global variables, and so handling correctly the backtracking)."

"Thanks for your beautiful tool. Long time ago I was a contributer of Flex tool and I built with Bison and Flex a little Cobol to C translator (project CobCy). But some weeks ago I discovered Python and Pyparsing: I fall in love for Python and I like the zen of Pyparsing, the exclamation point of Python language."

"Thanks for producing a very very useful tool for the Python community."

"I'm so glad there is a module like this. Pyparsing is so much easier to understand and get up to speed on than anything else I've seen. I knew there had to be something easier to use than Lex and Yacc!"

"Thank you so much for writing pyparsing. I've used it heavily for the last year or so and it has made my life much easier."

"Thanks for writing pyparsing. I have a feeling I will use it for parsing just about anything from now on."

"A very large thank you to you for this package. I'm using pyparsing to parse C++. (I already saw someone using it to parse C). I use it to generate some XML which represent the structure of the C++ program. I'm mainly using setResultsName() to name the XML tags."

"I must thank you for this amazing parsing tool. I have implemented resource parser in no time."

"Thanks so much for pyparse. I'm using it to parse csv exported information from sql server directly into our python object oriented database. Works like a charm!"

"Thanks for this wonderful module. I was able to extend the example to do 90% of what I need in a matter of minutes, with a bare minimum of Python experience. I can see using PyParsing a lot moving forward."

"Many thanks for the nice Pyparsing module!"

"I'd like to say thank you very much for writing such a fantastic tool, which has made my life a heck of a lot easier :)"

"Thanks for a great module!"

"Thanks for pyparsing -- it's beautiful. I'm working on a parser for a small language for interactive numerical data handling and analysis. It started out as a small extension of and has ended up being a fairly complete expression parser for a nearly complete language where I get to keep the expression stack!! Very cool!!"

"I was extremely pleased to use pyparsing for my project. You shouldn't feel self-conscious about trying to get people to use pyparsing; it is a great tool and a great alternative to regular expressions!"

"Thanks for sharing the fabulous pyparsing module. I saw mention of your article on OnLAMP on the Pythonware Daily python list, and gave it a read. At the end of the day I had working code for something which I thought would require a lot more effort using home-brew or other tools. So much easier than anything else I have ever used for making a parser."

"Pyparsing is beautiful, and I wrote an accurate parser for ISO 10303-21 files in just a couple days, but alas, it just isn't fast enough... But if I ever have small files to parse, pyparsing is probably the way I'll go -- I think it's elegant! (Note: we later got the performance improved by ~10X with some tuning of the grammar definition.)"

"That's the first time I've enjoyed writing a parser ;-)"

"Thanks for a very cool package!"

"I've been using pyparsing to decompose C-style structures. The general idea is to build an advanced struct-like module that maps C-structs to Python objects and pyparsing is a good tool for the job."

"I was writing a command line tool that accesses to LDAP server with the SQL alike interface,and pypasing did great help to me!"

"Initial Comment: I am deeply in love with pyparsing ! Compared with my hand-written parser, pyparsing is much better and faster(and that without using psyco even!). However, I am concerned at the memory usage.... (Note: we later resolved memory/performance issues using memoization techniques to collapse the grammar.)"

"I recently downloaded your pyparsing module, and I appreciate the fact that, as an engineer, this is the first parsing formulation I can (almost) get my head around!"

"Thanks for creating and maintaining this extremely useful tool! I recently downloaded version 1.3.3 and was able very quickly to adapt one of the examples to create a Linear Algebra pre-processor that has been of great use in simplifying some convoluted C code for one of my clients. They're very happy because their staff can now write vector and matrix equations directly into the C files and the parser does the work of replacing the equations with calls to optimized functions."

John Zenger writes on comp.lang.python (mid-way through a long regexp-related thread):
"At this point in your adventure, you might be wondering whether regular expressions are more trouble than they are worth. They are. There are two libraries you need to take a look at, and soon: BeautifulSoup for parsing HTML, and PyParsing for parsing everything else. Take the time you were planning to spend on deciphering regexes like "(\d{1,3}\.){3}\d{1,3}" and spend it learning the basics of those libraries instead -- you will not regret it. "

Julian writes (after asking about an indentation-based parser, which is difficult with pyparsing):
"I could just write a custom method, but my past experience was once I got the basic pyparsing grammar working, it turned out to be more self documenting and easier to maintain/extend."

"I just love your pyparsing module. In fact, it is one of the reasons I picked up Python. I am an engineer (engineering student) myself, and your module makes it easy for a non-computer scientist to pick up parsing."

"Writing parsers never was so addictive..."

"If it weren't for pyparsing I think I'd be up the proverbial creek without a high level abstraction paddle :) I think it will be prove very handy in learning parsing concepts... pyparsing ftw!"