{ "info": { "author": "German M. Bravo (Kronuz)", "author_email": "german.mb@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Code Generators", "Topic :: Software Development :: Compilers", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: General" ], "description": "|Donate| |PyPI Version| |PyPI License| |PyPI Format| |PyPI Status|\n\n**Esprima** (`esprima.org `__, BSD license) is a\nhigh performance, standard-compliant\n`ECMAScript `__\nparser officially written in ECMAScript (also popularly known as\n`JavaScript `__) and ported to\nPython. Esprima is created and maintained by `Ariya\nHidayat `__, with the help of `many\ncontributors `__.\n\nPython port is a line-by-line manual translation and was created and is\nmaintained by `German Mendez Bravo\n(Kronuz) `__.\n\nFeatures\n~~~~~~~~\n\n- Full support for ECMAScript 2017 (`ECMA-262 8th\n Edition `__)\n- Sensible `syntax tree\n format `__ as\n standardized by `ESTree project `__\n- Experimental support for `JSX `__, a\n syntax extension for `React `__\n- Optional tracking of syntax node location (index-based and\n line-column)\n- `Heavily tested `__ (~1500 `unit\n tests `__\n with `full code\n coverage `__)\n\nInstallation\n~~~~~~~~~~~~\n\n.. code:: shell\n\n pip install esprima\n\nAPI\n~~~\n\nEsprima can be used to perform `lexical\nanalysis `__\n(tokenization) or `syntactic\nanalysis `__ (parsing) of a\nJavaScript program.\n\nA simple example:\n\n.. code:: javascript\n\n >>> import esprima\n >>> program = 'const answer = 42'\n\n >>> esprima.tokenize(program)\n [{\n type: \"Keyword\",\n value: \"const\"\n }, {\n type: \"Identifier\",\n value: \"answer\"\n }, {\n type: \"Punctuator\",\n value: \"=\"\n }, {\n type: \"Numeric\",\n value: \"42\"\n }]\n\n >>> esprima.parseScript(program)\n {\n body: [\n {\n kind: \"const\",\n declarations: [\n {\n init: {\n raw: \"42\",\n type: \"Literal\",\n value: 42\n },\n type: \"VariableDeclarator\",\n id: {\n type: \"Identifier\",\n name: \"answer\"\n }\n }\n ],\n type: \"VariableDeclaration\"\n }\n ],\n type: \"Program\",\n sourceType: \"script\"\n }\n\nFor more information, please read the `complete\ndocumentation `__.\n\n.. |Donate| image:: https://img.shields.io/badge/Donate-PayPal-green.svg\n :target: https://www.paypal.me/Kronuz/25\n.. |PyPI Version| image:: https://img.shields.io/pypi/v/esprima.svg\n :target: https://pypi.python.org/pypi/esprima\n.. |PyPI License| image:: https://img.shields.io/pypi/l/esprima.svg\n :target: https://pypi.python.org/pypi/esprima\n.. |PyPI Wheel| image:: https://img.shields.io/pypi/wheel/esprima.svg\n :target: https://pypi.python.org/pypi/esprima\n.. |PyPI Format| image:: https://img.shields.io/pypi/format/esprima.svg\n :target: https://pypi.python.org/pypi/esprima\n.. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/esprima.svg\n :target: https://pypi.python.org/pypi/esprima\n.. |PyPI Implementation| image:: https://img.shields.io/pypi/implementation/esprima.svg\n :target: https://pypi.python.org/pypi/esprima\n.. |PyPI Status| image:: https://img.shields.io/pypi/status/esprima.svg\n :target: https://pypi.python.org/pypi/esprima\n.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/esprima.svg\n :target: https://pypi.python.org/pypi/esprima", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Kronuz/esprima-python", "keywords": "esprima ecmascript javascript parser ast", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "esprima", "package_url": "https://pypi.org/project/esprima/", "platform": "", "project_url": "https://pypi.org/project/esprima/", "project_urls": { "Homepage": "https://github.com/Kronuz/esprima-python" }, "release_url": "https://pypi.org/project/esprima/4.0.1/", "requires_dist": null, "requires_python": "", "summary": "ECMAScript parsing infrastructure for multipurpose analysis in Python", "version": "4.0.1" }, "last_serial": 4203821, "releases": { "4.0.0": [ { "comment_text": "", "digests": { "md5": "d7f5e6ed2acafe1f2a11f4b68f672225", "sha256": "3951d0afe8fa61394bcfad94a56bb852aa904f73d9bde71c00dfc1125fbe718c" }, "downloads": -1, "filename": "esprima-4.0.0.tar.gz", "has_sig": false, "md5_digest": "d7f5e6ed2acafe1f2a11f4b68f672225", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46860, "upload_time": "2018-06-15T15:19:14", "url": "https://files.pythonhosted.org/packages/86/61/ff7a62bcf79cebb6faf42c0ff28756c152a9dcf7244019093ca4513d80ee/esprima-4.0.0.tar.gz" } ], "4.0.0.dev0": [ { "comment_text": "", "digests": { "md5": "8fefacffd9a87e5fab94da7ee2e832bc", "sha256": "c7741399bdc7e1d363c3160cc03a3ed0e3fd4234667ac2d92ae18abd92c11f8a" }, "downloads": -1, "filename": "esprima-4.0.0.dev0.tar.gz", "has_sig": false, "md5_digest": "8fefacffd9a87e5fab94da7ee2e832bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41319, "upload_time": "2017-07-15T15:28:42", "url": "https://files.pythonhosted.org/packages/de/1d/a963f7ea42af31cde1604179d20318e35fdfca79c8f4ee3544b2f4e10a23/esprima-4.0.0.dev0.tar.gz" } ], "4.0.0.dev1": [ { "comment_text": "", "digests": { "md5": "4f0af0707b01443d0ff39688a3aa4a6d", "sha256": "a0bd9431a7231664699f9afcd36fb81bfb3d0e1f4e1739edad13c78833f2956b" }, "downloads": -1, "filename": "esprima-4.0.0.dev1.tar.gz", "has_sig": false, "md5_digest": "4f0af0707b01443d0ff39688a3aa4a6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41314, "upload_time": "2017-07-15T15:30:29", "url": "https://files.pythonhosted.org/packages/3f/41/7042f49d1f662715b7639c8170e211561c870a780822bafb90bf9a800efa/esprima-4.0.0.dev1.tar.gz" } ], "4.0.0.dev10": [ { "comment_text": "", "digests": { "md5": "f98b09ad78edb45beef147aa03475d27", "sha256": "9b0d798bafbf29ce1246fc1feed14fdda605868b6ffcaf4a119728778f2aa9b1" }, "downloads": -1, "filename": "esprima-4.0.0.dev10.tar.gz", "has_sig": false, "md5_digest": "f98b09ad78edb45beef147aa03475d27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44872, "upload_time": "2017-08-18T17:43:49", "url": "https://files.pythonhosted.org/packages/01/12/d216335ff68fc08071a1ab5d612c8e25cddb3bedeeab019a7e5f998a5536/esprima-4.0.0.dev10.tar.gz" } ], "4.0.0.dev11": [ { "comment_text": "", "digests": { "md5": "61b6c75c0b8e04200c2e95f3b2e94d0c", "sha256": "116168996e3888d4ef3ed336d728ac82287da4b9a1aa76149bbec0feb05ca21c" }, "downloads": -1, "filename": "esprima-4.0.0.dev11.tar.gz", "has_sig": false, "md5_digest": "61b6c75c0b8e04200c2e95f3b2e94d0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44890, "upload_time": "2017-08-29T18:47:23", "url": "https://files.pythonhosted.org/packages/2b/db/04c98cbdc738bb1110fa987de2cf4bc5157798c97bf0184c51694bffba7f/esprima-4.0.0.dev11.tar.gz" } ], "4.0.0.dev12": [ { "comment_text": "", "digests": { "md5": "1ec23c2b501ca9b4ce158b1a66ce9014", "sha256": "47c4cffc92082a168210fcd5edcbd484cbd72e2516210f8d00afb0b852d117c9" }, "downloads": -1, "filename": "esprima-4.0.0.dev12.tar.gz", "has_sig": false, "md5_digest": "1ec23c2b501ca9b4ce158b1a66ce9014", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46760, "upload_time": "2017-10-18T16:48:38", "url": "https://files.pythonhosted.org/packages/6f/39/a6f1c54d87bbf5fc6c30bfd481d16d88194b1b14c8cc5e5b40cb228563e0/esprima-4.0.0.dev12.tar.gz" } ], "4.0.0.dev2": [ { "comment_text": "", "digests": { "md5": "102c47a6af668db2647d8c2d21b9d696", "sha256": "f414c99ba8c8ade1d5a83fe51d0a1159a6d5947bd553120fdff01b40adfc1449" }, "downloads": -1, "filename": "esprima-4.0.0.dev2.tar.gz", "has_sig": false, "md5_digest": "102c47a6af668db2647d8c2d21b9d696", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41947, "upload_time": "2017-07-17T14:50:01", "url": "https://files.pythonhosted.org/packages/e8/fc/1276e4a7b7503b9245f47f531a65b8ba60032ec240eb7409f54ddf4d5d5f/esprima-4.0.0.dev2.tar.gz" } ], "4.0.0.dev3": [ { "comment_text": "", "digests": { "md5": "4f912369c35526e0077f482d4d2e5349", "sha256": "a1bcbfb4a0c52e419c54bef56fa2adc7ee22540e53d227ae5478eb5b2ad21f4b" }, "downloads": -1, "filename": "esprima-4.0.0.dev3.tar.gz", "has_sig": false, "md5_digest": "4f912369c35526e0077f482d4d2e5349", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43484, "upload_time": "2017-07-17T15:26:28", "url": "https://files.pythonhosted.org/packages/74/94/628feea30085af4f69cece7dd09f64c27dfa43642f865811c55da1b79aed/esprima-4.0.0.dev3.tar.gz" } ], "4.0.0.dev4": [ { "comment_text": "", "digests": { "md5": "70faf5ee95463132a6e6ae8fced944fc", "sha256": "be9467a42ed0a670ff32154a90c161f90d96ad3314bb00e2098e1e3ff979e2f0" }, "downloads": -1, "filename": "esprima-4.0.0.dev4.tar.gz", "has_sig": false, "md5_digest": "70faf5ee95463132a6e6ae8fced944fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43637, "upload_time": "2017-07-17T15:42:04", "url": "https://files.pythonhosted.org/packages/06/36/ee01d85f477c7f46da42907a89930586268739a63c906a45e9155e7e431c/esprima-4.0.0.dev4.tar.gz" } ], "4.0.0.dev5": [ { "comment_text": "", "digests": { "md5": "7a49c65c4b71f7f51444c274fe68772e", "sha256": "b5d1ca67421983b35563a9875acdb97567633850c60dc8cd2d19eb5bf612622a" }, "downloads": -1, "filename": "esprima-4.0.0.dev5.tar.gz", "has_sig": false, "md5_digest": "7a49c65c4b71f7f51444c274fe68772e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43660, "upload_time": "2017-07-17T15:47:23", "url": "https://files.pythonhosted.org/packages/c4/4e/6d2412068670c56b352af6e91069d64d092a8e780d05991c366a6bcb4e65/esprima-4.0.0.dev5.tar.gz" } ], "4.0.0.dev7": [ { "comment_text": "", "digests": { "md5": "3c61333f950b5b69903730dec9e900af", "sha256": "4ea7a322fc8e79ed1259fb3aeb928d1f0abd6bb52d43ec0fb6955a1fba8271f2" }, "downloads": -1, "filename": "esprima-4.0.0.dev7.tar.gz", "has_sig": false, "md5_digest": "3c61333f950b5b69903730dec9e900af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44692, "upload_time": "2017-08-03T21:22:46", "url": "https://files.pythonhosted.org/packages/fe/5a/84e6d97dea1b7168f7e2b6e8bfdf628840e412e955519858a0bc6a9c9435/esprima-4.0.0.dev7.tar.gz" } ], "4.0.0.dev8": [ { "comment_text": "", "digests": { "md5": "77f3948160ea23f76d5eaa901c9066fa", "sha256": "8843ff00f7086cf440f10449f5cc0958606b5fbd67ef60decebfd2763a0985cf" }, "downloads": -1, "filename": "esprima-4.0.0.dev8.tar.gz", "has_sig": false, "md5_digest": "77f3948160ea23f76d5eaa901c9066fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44819, "upload_time": "2017-08-09T04:08:45", "url": "https://files.pythonhosted.org/packages/24/75/e97171259e1ee80f273a305beeefbe68ad430851aca6bab9c7a008bed4f8/esprima-4.0.0.dev8.tar.gz" } ], "4.0.0.dev9": [ { "comment_text": "", "digests": { "md5": "b70e9613a2b91221b2c1bd9abf2c73bb", "sha256": "6f270e5b58d9b13b73bea0853e76e9ee3e1f7665da7f2826f45a83f7c8f0f13e" }, "downloads": -1, "filename": "esprima-4.0.0.dev9.tar.gz", "has_sig": false, "md5_digest": "b70e9613a2b91221b2c1bd9abf2c73bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44915, "upload_time": "2017-08-11T15:15:17", "url": "https://files.pythonhosted.org/packages/cd/6f/317b2fc2c42f6e0f40652e488cc3eb1c1ca2e022c814bef7b191740629e7/esprima-4.0.0.dev9.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "47b70d12b8af1cc631842f4a947a6e48", "sha256": "08db1a876d3c2910db9cfaeb83108193af5411fc3a3a66ebefacd390d21323ee" }, "downloads": -1, "filename": "esprima-4.0.1.tar.gz", "has_sig": false, "md5_digest": "47b70d12b8af1cc631842f4a947a6e48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47021, "upload_time": "2018-08-24T13:59:11", "url": "https://files.pythonhosted.org/packages/cc/a1/50fccd68a12bcfc27adfc9969c090286670a9109a0259f3f70943390b721/esprima-4.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "47b70d12b8af1cc631842f4a947a6e48", "sha256": "08db1a876d3c2910db9cfaeb83108193af5411fc3a3a66ebefacd390d21323ee" }, "downloads": -1, "filename": "esprima-4.0.1.tar.gz", "has_sig": false, "md5_digest": "47b70d12b8af1cc631842f4a947a6e48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47021, "upload_time": "2018-08-24T13:59:11", "url": "https://files.pythonhosted.org/packages/cc/a1/50fccd68a12bcfc27adfc9969c090286670a9109a0259f3f70943390b721/esprima-4.0.1.tar.gz" } ] }