pip-requirements-parser
pip requirements parser - a mostly correct pip requirements parsing library because it uses pip's own code.
Install
pip-requirements-parser on PyPI
pip
pip install pip-requirements-parseruv
uv add pip-requirements-parserpoetry
poetry add pip-requirements-parserPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — packaging, pyparsing |
| Maintenance | dormant — 1,331 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: pip_requirements_parser-32.0.1-py3-none-any.whl
Keywords: utilities, pip, requirements, parser, dependencies, pypi
About pip-requirements-parser
from the package's own PyPI description — quoted content, verbatim
pip-requirements-parser - a mostly correct pip requirements parsing library
Copyright (c) nexB Inc. and others. Copyright (c) The pip developers (see AUTHORS.rst file) SPDX-License-Identifier: MIT Homepage: https://github.com/nexB/pip-requirements and https://www.aboutcode.org/
pip-requirements-parser is a mostly correct pip requirements parsing
library ... because it uses pip's own code!
pip is the package installer for Python that is using "requirements" text
files listing the packages to install.
Per https://pip.pypa.io/en/stable/reference/requirements-file-format/ :
"The requirements file format is closely tied to a number of internal
details of pip (e.g., pip’s command line options). The basic format is
relatively stable and portable but the full syntax, as described here,
is only intended for consumption by pip, and other tools should take
that into account before using it for their own purposes."
And per https://pip.pypa.io/en/stable/user_guide/#using-pip-from-your-program :
"[..] pip is a command line program. While it is implemented in Python, and...
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
Parses pip requirements files using pip's own internal code, handling all syntax variations that pip supports without requiring network access or pip as a dependency.
Low friction: only two runtime dependencies (packaging and pyparsing), pure Python wheel. However, maintenance is dormant—last release was December 2022, over three years ago, with no recent commits despite the repository remaining active.
MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for both open-source and proprietary projects.
Usage
pip install pip-requirements-parser
from pip_requirements_parser import RequirementsFile
rf = RequirementsFile.from_file('requirements.txt')
for req in rf.requirements:
print(req.to_dict())
Requires Python 3.6 or later.
Verdict: Solid for parsing requirements files offline with minimal dependencies, backed by pip's own code and an extensive test suite. The permissive MIT license poses no barrier. However, dormant maintenance (last release December 2022) means no updates for pip's evolving syntax or security fixes—use only if your requirements format is stable or if you can maintain it yourself.
Needs verification
- Whether the parser remains compatible with current pip requirements syntax (pip has evolved since December 2022)
- Whether any of the two runtime dependencies (packaging, pyparsing) have introduced breaking changes since the last release
Similar packages
permissive · top 1,000 on PyPI
py-serializablepermissive · top 1,000 on PyPI
poetry-plugin-exportpermissive · top 1,000 on PyPI
uc-micro-pypermissive · top 1,000 on PyPI
logfire-apipermissive · top 1,000 on PyPI
setuptools-scmpermissive · top 1,000 on PyPI
mysqlclientcopyleft · top 1,000 on PyPI
sphinxcontrib-htmlhelppermissive · top 1,000 on PyPI
narwhalspermissive · top 1,000 on PyPI
vcrpypermissive · top 1,000 on PyPI