Parcon is a parser library written by Alexander Boyd. It's designed to be fast, easy to use, easy to learn, and to provide informative error messages.

Pargen, which is provided as a submodule of Parcon, is a formatter library. It's much the opposite of Parcon: while Parcon is used to parse text into various objects, Pargen is used to format objects into text. As an example, if you wanted to reimplement Python's json module, you would use Parcon to implement json.loads and Pargen to implement json.dumps.

Static, which is also provided as a submodule of Parcon, is a static typing library and Python object pattern library. It lets you build patterns that match Python objects based on their type, their attributes, certain properties such as whether or not the object is a sequence, the types that make up the object's values if the object is a sequence, and so on.


Parcon is developed by Alex, a student who develops Parcon on time that could otherwise be spent working at his job to earn money to pay for college. Donations are therefore greatly appreciated.


See the downloads page for information on how to download/install Parcon, Pargen, and Static.


The main source of doumentation for Parcon is its module documentation. The same is true for Pargen and Static, although they're not quite as well documented as Parcon is.


The Parcon Blog is Parcon's official blog.


Parcon examples are provided in Parcon's module documentation and on The Parcon Blog.


Parcon is open-source, released under the terms of the GNU Lesser General Public License. Source code is available on GitHub here.