{ "info": { "author": "Darius Bacon", "author_email": "darius@wry.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Interpreters", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing" ], "description": "Peglet\n======\n\nPeglet extends Python's regular expressions to handle recursive\ngrammars. For example, to parse a tiny subset of HTML:\n\n>>> from peglet import Parser\n>>> a_little_html = Parser(r\"\"\"\n... parts = part parts | \n... part = <(\\w+)> parts group\n... | ([^<]+)\n... \"\"\", group=lambda *values: values)\n>>> a_little_html(\"Hello.

Nesting for the win.

\")\n('Hello. ', ('p', ('em', 'Nesting'), ' for ', ('i', 'the win'), '.'))\n\nThe goal was to make a parsing library\n\n1. pleasant enough to use;\n\n2. simple to adapt or rewrite from scratch if I'm faced with some new\n situation like a new programming language;\n\n3. with code easy enough to follow that it could introduce people to\n parsing.\n\nSo it came down to one page of clear code not using combinators. (And\nthen ballooned to 200+ lines from documentation and a few extras.)\nSome bits that couldn't fit the latter two constraints went into a\ncombinator library, `parson `_.\n\nFor more, see `the examples\n`_ or the\nmodule doc in `the code\n`_.\n\n\nInstalling it\n=============\n\n``pip install peglet``, or else download then ``python setup.py install``.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/darius/peglet", "keywords": "parsing", "license": "GNU General Public License (GPL)", "maintainer": null, "maintainer_email": null, "name": "Peglet", "package_url": "https://pypi.org/project/Peglet/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Peglet/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/darius/peglet" }, "release_url": "https://pypi.org/project/Peglet/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Robinson Crusoe's parsing package.", "version": "0.1.1" }, "last_serial": 784898, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9f874bf29a545d4bcb3734301c2a0f72", "sha256": "7b212680fbfe91604b53e471cbe29db920c576931e6f25cf7ad67227903efeba" }, "downloads": -1, "filename": "Peglet-0.1.0.cygwin-1.7.17-i686.exe", "has_sig": false, "md5_digest": "9f874bf29a545d4bcb3734301c2a0f72", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 60114, "upload_time": "2012-12-04T01:25:08", "url": "https://files.pythonhosted.org/packages/7f/46/f63a0ae1c45a071a35c649c3e438e0feec0d11cfe5b38f04f13ea13caed2/Peglet-0.1.0.cygwin-1.7.17-i686.exe" }, { "comment_text": "", "digests": { "md5": "9cd6a68e19971f8907fea91184869226", "sha256": "88b8a57911c5bce697d80fc9ac5ee1d9cdadf2294337913766cb10045c30f077" }, "downloads": -1, "filename": "Peglet-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9cd6a68e19971f8907fea91184869226", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28276, "upload_time": "2012-12-04T01:25:04", "url": "https://files.pythonhosted.org/packages/d0/11/e0843c819c75a30a7cc03b579f33eb8ba1446646ed16f8851baecf111f70/Peglet-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "162540cd8fadf774bc72211d6c89fc5e", "sha256": "df2210cb119231dbc293b8b44c9287275fa22990a7be6d515cefa69d4ee562d3" }, "downloads": -1, "filename": "Peglet-0.1.1.cygwin-1.7.17-i686.exe", "has_sig": false, "md5_digest": "162540cd8fadf774bc72211d6c89fc5e", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 60851, "upload_time": "2012-12-10T23:35:09", "url": "https://files.pythonhosted.org/packages/d9/04/05b70dffec4ecc11e19d2890f0d7b0dd3b06901be3f39bf7638c5d85e39c/Peglet-0.1.1.cygwin-1.7.17-i686.exe" }, { "comment_text": "", "digests": { "md5": "515929428d0d69de9664198494fed9f6", "sha256": "feb169c28e71f26e313dd0fdb8d9e82e78452e5bda7e5519a3332c873d431be9" }, "downloads": -1, "filename": "Peglet-0.1.1.tar.gz", "has_sig": false, "md5_digest": "515929428d0d69de9664198494fed9f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31320, "upload_time": "2012-12-10T23:35:07", "url": "https://files.pythonhosted.org/packages/27/06/49c901c159792984892b98af28360a58b3c77fc5fc1936e0716278c47dcd/Peglet-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "162540cd8fadf774bc72211d6c89fc5e", "sha256": "df2210cb119231dbc293b8b44c9287275fa22990a7be6d515cefa69d4ee562d3" }, "downloads": -1, "filename": "Peglet-0.1.1.cygwin-1.7.17-i686.exe", "has_sig": false, "md5_digest": "162540cd8fadf774bc72211d6c89fc5e", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 60851, "upload_time": "2012-12-10T23:35:09", "url": "https://files.pythonhosted.org/packages/d9/04/05b70dffec4ecc11e19d2890f0d7b0dd3b06901be3f39bf7638c5d85e39c/Peglet-0.1.1.cygwin-1.7.17-i686.exe" }, { "comment_text": "", "digests": { "md5": "515929428d0d69de9664198494fed9f6", "sha256": "feb169c28e71f26e313dd0fdb8d9e82e78452e5bda7e5519a3332c873d431be9" }, "downloads": -1, "filename": "Peglet-0.1.1.tar.gz", "has_sig": false, "md5_digest": "515929428d0d69de9664198494fed9f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31320, "upload_time": "2012-12-10T23:35:07", "url": "https://files.pythonhosted.org/packages/27/06/49c901c159792984892b98af28360a58b3c77fc5fc1936e0716278c47dcd/Peglet-0.1.1.tar.gz" } ] }