parso
A Python Parser
Install
parso on PyPI
pip
pip install parsouv
uv add parsopoetry
poetry add parsoPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 104 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: parso-0.8.7-py2.py3-none-any.whl
Keywords: python, parser, parsing
About parso
from the package's own PyPI description — quoted content, verbatim
parso - A Python Parser
.. image:: https://github.com/davidhalter/parso/workflows/Build/badge.svg?branch=master :target: https://github.com/davidhalter/parso/actions :alt: GitHub Actions build status
.. image:: https://coveralls.io/repos/github/davidhalter/parso/badge.svg?branch=master :target: https://coveralls.io/github/davidhalter/parso?branch=master :alt: Coverage Status
.. image:: https://pepy.tech/badge/parso :target: https://pepy.tech/project/parso :alt: PyPI Downloads
.. image:: https://raw.githubusercontent.com/davidhalter/parso/master/docs/_static/logo_characters.png
Parso is a Python parser that supports error recovery and round-trip parsing for different Python versions (in multiple Python versions). Parso is also able to list multiple syntax errors in your python file.
Parso has been battle-tested by jedi_. It was pulled out of jedi to be useful for other projects as well.
Parso consists of a small API to parse Python and analyse the syntax tree.
A simple example:
.. code-block:: python
>>>...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Parso is a Python parser that recovers from syntax errors and parses code across multiple Python versions, producing an analyzable syntax tree and reporting multiple errors in a single pass.
Parso installs with zero runtime dependencies and is distributed as a pure-Python wheel, making it frictionless to add. The project is actively maintained with recent commits and a stable release cadence.
Parso is licensed under MIT, a permissive license that allows unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations.
Usage
pip install parso
import parso
module = parso.parse('hello + 1', version="3.9")
expr = module.children[0]
print(expr.get_code())
Requires Python 3.6 or later; parso dropped support for Python 2.7 and 3.4–3.5 as of version 0.8.0.
Verdict: Parso is a mature, actively maintained parser library with no security vulnerabilities, zero dependencies, and permissive licensing. It is well-suited for projects needing robust Python syntax analysis across multiple Python versions with graceful error handling.
Needs verification
- Whether error recovery performance scales acceptably for very large files or deeply nested code structures.
- The stability and completeness of support for Python 3.14+ given the fallback grammar introduced in 0.8.5.
Similar packages
permissive · top 1,000 on PyPI
httptoolspermissive · top 1,000 on PyPI
requests-toolbeltpermissive · top 1,000 on PyPI
msrestazurepermissive · top 1,000 on PyPI
azure-commonpermissive · top 1,000 on PyPI
unidiffpermissive · top 1,000 on PyPI
semantic-versionpermissive · top 1,000 on PyPI
msrestpermissive · top 1,000 on PyPI
sqlparsepermissive · top 1,000 on PyPI
plypermissive · top 1,000 on PyPI