I am pleased to announce the release of a new major version of omniORBpy,
version 4.2.0. omniORBpy is a high performance free CORBA implementation
for Python.
omniORB 4.2 has a number of new features compared to omniORB 4.1.x, both
large and small. Here are the highlights:
- Full Asynchronous Method Invocation (AMI) support.
- Support for ZIOP, which compresses large messages.
- Call timeouts are indicated with the CORBA.TIMEOUT exception,
rather than CORBA.TRANSIENT (unless suppressed with the
throwTransientOnTimeout configuration parameter).
- Servers can be limited to a range of ports to listen on.
- In Python, IDL attributes can now be accessed as properties of
object references. i.e. IDL attribute 'example' can be accessed
as obj.example as well as with obj._get_example() and
obj._set_example().
- Ancient Python versions are no longer supported. omniidl and
omniORBpy now only work with Python 2.5 or later.
The releases can be downloaded in source and Windows binary forms from
SourceForge:
https://sourceforge.net/projects/omniorb/files/omniORBpy/omniORBpy-4.2.0/
Thank you to everyone who contributed to these releases in one way or
another.
Enjoy!
Duncan.
--
-- Duncan Grisby --
-- duncan(a)grisby.org --
-- http://www.grisby.org --
ReportLab are pleased to announce the release of the Python 3-compatible version of our PDF generation toolkit.
After an extensive rewrite, both our open-source and commercial frameworks now run under Python 2.7, 3.3 and 3.4, and can be installed with pip or easy_install and managed from standard requirements.txt. The open source code is available with "pip install reportlab", and also from Bitbucket (https://bitbucket.org/rptlab/reportlab/src).
Our commercial package - ReportLab PLUS - which sits on top of the ReportLab toolkit - lets you develop documents very quickly directly from your preferred web framework (we use Django for the majority of our projects).
- design PDF templates in RML, our own XML dialect, exactly as you would web templates.
- include professionally designed artwork and background pages with a single tag using our PageCatcher technology.
- create business and custom graphics with identical style in print and web using our Diagra charts.
The ability to create personalised, publication quality PDF documents from a CMS in real-time is a game-changer, opening new communication channels and allowing clients to streamline work and save on print.
ReportLab PLUS can be tried freely with a nag line, but needs an annual subscription before production use. All subscriptions include support hours and hot-fixes as standard. ReportLab are happy to provide support, mentoring and a design-and-build service. Use the following links for more information:
ReportLab software https://www.reportlab.com/software/
RML and other support documents https://www.reportlab.com/software/documentation/
Andy Robinson
CEO / Chief Architect
ReportLab
===========
iPOPO 0.5.6
===========
iPOPO v0.5.6 has been released !
About iPOPO
===========
iPOPO is a service-oriented component model (SOCM) framework for Python, inspired from the Java project iPOJO and from the OSGi specification.
What's new in 0.5.6
===================
The Remote Services implementation has been heavily rewritten since 0.5.5.
It now supports interactions with Java OSGi services using either:
Cohorte Remote Services (https://github.com/isandlaTech/cohorte-remote-services)
Eclipse ECF (http://wiki.eclipse.org/ECF) and the Jabsorb-RPC Provider (https://github.com/isandlaTech/cohorte-remote-services/tree/master/org.coho…)
New features:
Added the @BundleActivator decorator, to declare a class as a bundle activator
Added the @RequiresMap iPOPO handler
Added an iPOPO Waiting List service
Added a 'misc' package with utility modules, e.g. an MQTT client
Added support for remote services Endpoint Description files (EDEF format)
Added MQTT and mDNS remote services discoveries
Added Jabsorb-RPC and MQTT-RPC remote services transports
You can take a look at the documentation at https://ipopo.coderxpress.net/
iPOPO is available on PyPI: https://pypi.python.org/pypi/iPOPO
Feel free to send feedback on your experience of Pelix/iPOPO, via the mailing lists:
User list : http://groups.google.com/group/ipopo-users
Development list : http://groups.google.com/group/ipopo-dev
Have fun !
Thomas
Hi,
Wingware has released version 5.0.6 of Wing IDE, our cross-platform
integrated
development environment for the Python programming language.
Wing IDE includes a professional quality code editor with vi, emacs,
visual studio,
and other key bindings, auto-completion, call tips, goto-definition,
find uses, refactoring,
context-aware auto-editing, a powerful graphical debugger, version
control, unit testing,
search, and many other features. For details see http://wingware.com/
Changes in this minor release include:
* New auto-editing operation for starting a new block when ':' is
pressed while a range
of lines is selected. This also auto-enters 'except:' if 'try' is
then entered.
* Offer completion on argument names in a def
* New Editor > Block Comment Style preference option to use PEP8 style
indented '# '
for commenting out code
* On OS X, Wing no longer quits when the last window is closed, to match
the standard
for Mac applications
* Restart correctly after downloading patches
* Pick up changes made in the debug dialog when debugging a named entry
point
* Avoid hiding file selection auto-completer popup too soon
* Set sys.path[0] correctly in Python Shell on OS X and Linux
* Fix cleanup after auto-invocation that spans multiple lines
* About 15 other bug fixes
For details see http://wingware.com/pub/wingide/5.0.6/CHANGELOG.txt
A summary of new features in Wing 5:
* Redesigned GUI based on Qt and PySide
* Native GUI on OS X (and better overall OS-native look and feel)
* Tools and editors can be dragged around
* Toolbar and editor and Project context menus are configurable
* Optional mode that opens different sets of files in each editor split
* Sharable color palettes and syntax highlighting configurations
* Auto-editing is on by default (except some operations that have a
learning curve)
* Named file sets
* Sharable launch configurations
* Named entry points
* More control over unit testing environment
* Lockable editor splits
* Initial preferences dialog for new users
* Support for Python 3.4
* Support for Django 1.6
* Support for matplotlib on Anaconda and with MacOSX backend
* Improved Source Assistant with PEP 287 docstring rendering and return
types
* Improved integrated and PDF documentation
For more information on what's new in Wing 5, see
http://wingware.com/wingide/whatsnew
Free trial: http://wingware.com/wingide/trial
Downloads: http://wingware.com/downloads
Feature list: http://wingware.com/wingide/features
Sales: http://wingware.com/store/purchase
Upgrades: https://wingware.com/store/upgrade
Questions? Don't hesitate to email us at support(a)wingware.com.
Thanks,
--
Stephan Deibel
Wingware | Python IDE
The Intelligent Development Environment for Python Programmers
wingware.com
[This announcement is in German since it targets a local user group
meeting in Düsseldorf, Germany]
________________________________________________________________________
ANKÜNDIGUNG
Python Meeting Düsseldorf
http://pyddf.de/
Ein Treffen von Python Enthusiasten und Interessierten
in ungezwungener Atmosphäre.
Dienstag, 29.04.2014, 19:00 Uhr
Raum 1, 2.OG im Bürgerhaus Stadtteilzentrum Bilk
Düsseldorfer Arcaden, Bachstr. 145, 40217 Düsseldorf
Diese Nachricht ist auch online verfügbar:
http://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2014-04-29
________________________________________________________________________
NEUIGKEITEN
* Bereits angemeldete Vorträge:
Charlie Clark
"Status openpyxl, bzw. Lösung neuer Probleme"
"IndexedList - eine Liste optimiert für "in" Abfragen"
"Bericht von der PyCon 2014 in Montreal"
Marc-Andre Lemburg
"Python Code mit lib2to3 modernisieren"
"DDOS Attacken mit Python bekämpfen"
"Bericht von der FOSDEM 2014"
Wir suchen noch weitere Vorträge. Bei Interesse, bitte unter
info(a)pyddf.de melden.
* Geänderte Startzeit:
Dieses Mal treffen wir uns erst um 19:00 Uhr im
Bürgerhaus in den Düsseldorfer Arcaden, da wir keinen Termin
für 18 Uhr bekommen haben. Hier eine kurze Beschreibung:
Das Bürgerhaus teilt sich den Eingang mit dem Schwimmbad
und befindet sich an der Seite der Tiefgarageneinfahrt der
Düsseldorfer Arcaden.
Über dem Eingang steht ein großes Schwimm'in Bilk
Logo. Hinter der Tür direkt links zu den zwei Aufzügen,
dann in den 2. Stock hochfahren. Der Eingang zum Raum 1
liegt direkt links, wenn man aus dem Aufzug kommt.
Google Street View: http://bit.ly/11sCfiw
________________________________________________________________________
EINLEITUNG
Das Python Meeting Düsseldorf ist eine regelmäßige Veranstaltung in
Düsseldorf, die sich an Python Begeisterte aus der Region wendet:
* http://pyddf.de/
Einen guten Überblick über die Vorträge bietet unser YouTube-Kanal,
auf dem wir die Vorträge nach den Meetings veröffentlichen:
* http://www.youtube.com/pyddf/
Veranstaltet wird das Meeting von der eGenix.com GmbH, Langenfeld,
in Zusammenarbeit mit Clark Consulting & Research, Düsseldorf:
* http://www.egenix.com/
* http://www.clark-consulting.eu/
________________________________________________________________________
PROGRAMM
Das Python Meeting Düsseldorf nutzt eine Mischung aus Open Space
und Lightning Talks, wobei die Gewitter bei uns auch schon mal
20 Minuten dauern können ;-).
Lightning Talks können vorher angemeldet werden, oder auch
spontan während des Treffens eingebracht werden. Ein Beamer mit
XGA Auflösung steht zur Verfügung. Folien bitte als PDF auf USB
Stick mitbringen.
Lightning Talk Anmeldung bitte formlos per EMail an info(a)pyddf.de
________________________________________________________________________
KOSTENBETEILIGUNG
Das Python Meeting Düsseldorf wird von Python Nutzern für Python
Nutzer veranstaltet. Um die Kosten zumindest teilweise zu
refinanzieren, bitten wir die Teilnehmer um einen Beitrag
in Höhe von EUR 10,00 inkl. 19% Mwst, Schüler und Studenten
zahlen EUR 5,00 inkl. 19% Mwst.
Wir möchten alle Teilnehmer bitten, den Betrag in bar mitzubringen.
________________________________________________________________________
ANMELDUNG
Da wir nur für ca. 20 Personen Sitzplätze haben, möchten wir
bitten, sich per EMail anzumelden. Damit wird keine Verpflichtung
eingegangen. Es erleichtert uns allerdings die Planung.
Meeting Anmeldung bitte formlos per EMail an info(a)pyddf.de
________________________________________________________________________
WEITERE INFORMATIONEN
Weitere Informationen finden Sie auf der Webseite des Meetings:
http://pyddf.de/
Mit freundlichen Grüßen,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
::: Try our new mxODBC.Connect Python Database Interface for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
________________________________________________________________________
ANNOUNCING
eGenix.com mxODBC Connect
Python ODBC Database Interface
Version 2.0.5
mxODBC Connect is our commercially supported client-server product for
connecting Python applications to relational databases
in a truly platform independent way.
This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-Connect-2.0.5-GA.html
________________________________________________________________________
INTRODUCTION
The mxODBC Connect Database Interface for Python allows users to
easily connect Python applications to all major databases on the
market today in a highly portable, convenient and secure way.
Python Database Connectivity the Easy Way
-----------------------------------------
Unlike our mxODBC Python extension, mxODBC Connect is designed as
client-server application, so you no longer need to find production
quality ODBC drivers for all the platforms you target with your Python
application.
Instead you use an easy to install royalty-free Python client library
which connects directly to the mxODBC Connect database server over the
network.
This makes mxODBC Connect a great basis for writing cross-platform
multi-tier database applications and utilities in Python, especially
if you run applications that need to communicate with databases such
as MS SQL Server and MS Access, Oracle Database, IBM DB2 and Informix,
Sybase ASE and Sybase Anywhere, MySQL, PostgreSQL, SAP MaxDB and many
more, that run on Windows or Linux machines.
Ideal for Database Driven Client Applications
---------------------------------------------
By removing the need to install and configure ODBC drivers on the
client side and dealing with complicated network setups for each set
of drivers, mxODBC Connect greatly simplifies deployment of database
driven client applications, while at the same time making the network
communication between client and database server more efficient and
more secure.
For more information, please have a look at the mxODBC Connect product
page, in particular, the full list of available features.
For more information, please see the product page:
http://www.egenix.com/products/python/mxODBCConnect/
________________________________________________________________________
NEWS
The 2.0.5 release of mxODBC Connect includes the following
enhancements and fixes:
Security Enhancements
---------------------
* Upgraded client and server to the most recent eGenix pyOpenSSL
Distribution 0.13.3.1.0.1.7 (see http://egenix.com/go54 for
details) to address the recently found Heartbleed Bug in
OpenSSL 1.0.1 - 1.0.1f:
- CVE-2014-0160 ("Heartbleed Bug"): A missing bounds check in the
handling of the TLS heartbeat extension can be used to reveal
up to 64kB of memory to a connected client or server. This issue
did not affect versions of OpenSSL prior to 1.0.1. For information,
also have a look at the Heartbleed Bug website:
http://heartbleed.com/
For the full set of changes, please check the mxODBC Connect
change log:
http://www.egenix.com/products/python/mxODBCConnect/changelog.html
mxODBC Connect 2.0 Highlights
-----------------------------
mxODBC Connect 2.0 was released on 2012-08-20. These are the most
important highlights:
* mxODBC Connect Server now uses mxODBC 3.2 internally and makes its
API available in the mxODBC Connect Client. This is a major step
forward from the mxODBC 3.0 version used in mxODBC Connect Server
1.0.
* We've added native Windows x64 builds.
* mxODBC Connect Client now integrates directly with gevent, allowing
client applications to run asynchronous tasks while performing
remote database queries.
Please see the release announcement for full details:
http://www.egenix.com/company/news/eGenix-mxODBC-Connect-2.0.0-GA.html
________________________________________________________________________
UPGRADING
You are encouraged to upgrade to this latest mxODBC Connect release.
When upgrading, please always upgrade both the server and the client
installations to the same version - even for patch level releases.
Customers who have purchased mxODBC Connect 2.0 licenses can continue
to use their licenses with this patch level release.
Customers who have purchased mxODBC Connect 1.x licenses can request
20% discount coupons for upgrade purchases. Please contact the
eGenix.com Sales Team (sales(a)egenix.com) with your existing license
serials for details.
Users of our stand-alone mxODBC product will have to purchase new
licenses from our online shop in order to use mxODBC Connect.
You can request 30-day evaluation licenses by visiting our web-site
or writing to sales(a)egenix.com, stating your name (or the name of the
company) and the number of eval licenses that you need.
http://www.egenix.com/products/python/mxODBCConnect/#Evaluation
________________________________________________________________________
DOWNLOADS
The download archives as well as instructions for installation and
configuration of the product can be found on the product page:
http://www.egenix.com/products/python/mxODBCConnect/
If you want to try the package, jump straight to the download
instructions:
https://cms.egenix.com/products/python/mxODBCConnect/#Download
Fully functional evaluation licenses for the mxODBC Connect Server are
available free of charge:
http://www.egenix.com/products/python/mxODBCConnect/#Evaluation
mxODBC Connect Client is always free of charge.
_______________________________________________________________________
SUPPORT
Commercial support for this product is available from eGenix.com.
Please see
http://www.egenix.com/services/support/
for details about our support offerings.
_______________________________________________________________________
INFORMATION
About Python (http://www.python.org/):
Python is an object-oriented Open Source programming language
which runs on all modern platforms. By integrating ease-of-use,
clarity in coding, enterprise application connectivity and rapid
application design, Python establishes an ideal programming
platform for today's IT challenges.
About eGenix (http://www.egenix.com/):
eGenix is a software project, consulting and product company
focusing on expert project services and professional quality
products for companies, Python users and developers.
Enjoy,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
::: Try our new mxODBC.Connect Python Database Interface for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
Hi all,
I'm glad to announce you Nanpy 0.9 release!
https://pypi.python.org/pypi/nanpy/0.9
The main purpose of Nanpy is making programmers' life easier, giving them
something to create prototypes faster and use Arduino in a simpler way,
thanks to a simple and powerful language like Python. Also Nanpy can run on
RaspberryPi (tested with Raspbian http://www.raspbian.org/) so you can use
it for communicating with Arduino :)
Let's start with a classic example, turn on a led placed in the 13th pin..
from nanpy import (ArduinoApi, SerialManager)
connection = SerialManager()
a = ArduinoApi(connection=connection)
a.pinMode(13, a.OUTPUT)
a.digitalWrite(13, a.HIGH)
NOTE: you can also use the old serial_manager global object
There are a lot of projects able to do that. Nanpy can do more!
Nanpy is easily extensible and can theoretically use every library,
allowing you to create how many objects you want.
We started supporting OneWire, Lcd, Stepper and Servo library and they're
still incomplete.
Let's try to connect our 16x2 lcd screen on pins 7, 8, 9, 10, 11, 12 and
print something!
connection = SerialManager()
lcd = Lcd([7, 8, 9, 10, 11, 12], [16, 2], connection=connection)
lcd.printString("Hello World!")
really straightforward now, isn't it? :)
Multithreading
--------------
What happens if you call methods in an async context? Nothing bad, all
works! every call is mutually exclusive.. For example, suppose that two
threads need to write on the same Lcd and in different positions at the
same time... well, just call printString on the Lcd object specifying the
position (row and column)
#Thread_1
...
lcd.printString("Hello First Row!", 0, 0)
...
#Thread_2
....
lcd.printString("Hello Second Row!", 0, 1)
...
How to build and install
------------------------
You need to build the firmware for your Arduino first, just clone the
firmware repository at https://github.com/nanpy/firmware and follow the
README to configure and build it.
To install Nanpy Python library just type (as root):
python setup.py install
How to use
----------
### Serial communication
Nanpy autodetects the serial port for you, anyway you can specify another
serial port manually:
from nanpy import SerialManager
connection = SerialManager(device='/dev/ttyACM1')
### Import modules
Import all the modules you need :)
from nanpy import Arduino
from nanpy import (OneWire, Lcd)
...
How to contribute
-----------------
Nanpy needs a lot of work to be a great tool. You can contribute with
patches (bugfixing, writing improvements, creating support for a new
library not included in Nanpy yet, writing examples and so on), writing
documentation, reporting bugs, creating packages or simply spreading Nanpy
through the web if you like it :) If you have any doubt or problem, please
contact me at <stagi.andrea(a)gmail.com>
Do you want to support us with a coffee? We need it to code all night long!
if you like this project and you want to support it with some cents, please
donate :)
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TDTPP5…
--
Andrea Stagi (@4stagi) - Develer S.r.l
Job profile: http://linkedin.com/in/andreastagi
Website: http://4spills.blogspot.it/
Github: http://github.com/astagi
Dear people,
I would like to announce new release of the Portable Python based on Python 2.7.6
Included in this release:
-------------------------
* PyScripter v2.5.3
* PyCharm Community Edition 3.1.2 (Thanks to cebik)
* NymPy 1.8.1
* SciPy 0.13.3
* Matplotlib 1.3.1
* PyWin32 218
* Django 1.6.2
* PIL 1.1.7
* Py2Exe 0.6.9
* wxPython 3.0.0.0
* NetworkX 1.7
* Lxml 3.3.4
* PySerial 2.7
* PyODBC 3.0.7
* PyGame 1.9.1
* PyGTK 2.24.2
* PyQt 4.10.4
* IPython 1.2.1
* Pandas 0.11.0
* Dateutil 2.2
* PyParsing 2.0.1
* Six 1.6.1
* XLRD 0.9.2
* XLWT 0.7.5
* XLUtils 1.7.0
* OpenPyXL 1.8.5
Improvements since last release:
--------------------------------
Upgraded most of the libraries to the latest available versions and fixed lots of configuration bugs.
Added
* PyCharm (kudos to Cebik!)
* Dateutil
* PyParsing
* Six
* Libraries for Excel (XLRD, XLWT, XLUtils and OpenPyXL)
Installation and use:
---------------------
After downloading, run the installer, select the packages you would like to install, select the target folder and you are done! In the root folder of the distribution you will find shortcuts for selected applications. Some of the most popular free Python IDE's come preinstalled and preconfigured with Portable Python. How to use and configure them further please consult their documentation or project sites.
Download location: http://portablepython.com/wiki/PortablePython2.7.6.1
Warning: Default installation installs all packages - make sure to review packages selection during installation process as it can take quite some time to install 800+MB on the USB drive(s).
Please use "feedback and support" section on the portal to request new packages or to report issues.
Keep pythoning !
Perica Zivkovic
http://www.PortablePython.com
I'm happy to announce a new release of pyparsing, version 2.0.2.
This release contains some small enhancements and some bugfixes.
Change summary:
---------------
- Extended "expr(name)" shortcut (same as "expr.setResultsName(name)")
to accept "expr()" as a shortcut for "expr.copy()".
- Added "locatedExpr(expr)" helper, to decorate any returned tokens
with their location within the input string. Adds the results names
locn_start and locn_end to the output parse results.
- Added "pprint()" method to ParseResults, to simplify troubleshooting
and prettified output. Now instead of importing the pprint module
and then writing "pprint.pprint(result)", you can just write
"result.pprint()". This method also accepts additional positional and
keyword arguments (such as indent, width, etc.), which get passed
through directly to the pprint method
(see http://docs.python.org/2/library/pprint.html#pprint.pprint).
- Removed deprecation warnings when using '<<' for Forward expression
assignment. '<<=' is still preferred, but '<<' will be retained
for cases where '<<=' operator is not suitable (such as in defining
lambda expressions).
- Expanded argument compatibility for classes and functions that
take list arguments, to now accept generators as well.
- Extended list-like behavior of ParseResults, adding support for
append and extend. NOTE: if you have existing applications using
these names as results names, you will have to access them using
dict-style syntax: res["append"] and res["extend"]
- ParseResults emulates the change in list vs. iterator semantics for
methods like keys(), values(), and items(). Under Python 2.x, these
methods will return lists, under Python 3.x, these methods will
return iterators.
- ParseResults now has a method haskeys() which returns True or False
depending on whether any results names have been defined. This simplifies
testing for the existence of results names under Python 3.x, which
returns keys() as an iterator, not a list.
- ParseResults now supports both list and dict semantics for pop().
If passed no argument or an integer argument, it will use list semantics
and pop tokens from the list of parsed tokens. If passed a non-integer
argument (most likely a string), it will use dict semantics and
pop the corresponding value from any defined results names. A
second default return value argument is supported, just as in
dict.pop().
- Fixed bug in markInputline, thanks for reporting this, Matt Grant!
- Cleaned up my unit test environment, now runs with Python 2.6 and
3.3.
Download pyparsing 2.0.2 at http://sourceforge.net/projects/pyparsing/,
or use 'easy_install pyparsing'. You can also access pyparsing's
epydoc documentation online at http://packages.python.org/pyparsing/.
The pyparsing Wiki is at http://pyparsing.wikispaces.com.
-- Paul
========================================
Pyparsing is a pure-Python class library for quickly developing
recursive-descent parsers. Parser grammars are assembled directly in
the calling Python code, using classes such as Literal, Word,
OneOrMore, Optional, etc., combined with operators '+', '|', and '^'
for And, MatchFirst, and Or. No separate code-generation or external
files are required. Pyparsing can be used in many cases in place of
regular expressions, with shorter learning curve and greater
readability and maintainability. Pyparsing comes with a number of
parsing examples, including:
- "Hello, World!" (English, Korean, Greek, and Spanish(new))
- chemical formulas
- Verilog parser
- Google protobuf parser
- time expression parser/evaluator
- configuration file parser
- web page URL extractor
- 5-function arithmetic expression parser
- subset of CORBA IDL
- chess portable game notation
- simple SQL parser
- Mozilla calendar file parser
- EBNF parser/compiler
- Python value string parser (lists, dicts, tuples, with nesting)
(safe alternative to eval)
- HTML tag stripper
- S-expression parser
- macro substitution preprocessor