This is a small Python module for parsing Pip requirement files.
The goal is to parse everything in the Pip requirement file format spec.
pip install requirements-parser
Requirements parser can parse a file-like object or a text string.
>>> import requirements
>>> with open('requirements.txt', 'r') as fd:
... for req in requirements.parse(fd):
... print(req.name, req.specs)
Django [('>=', '1.11'), ('<', '1.12')]
six [('==', '1.10.0')]
It can handle most if not all of the options in requirement files that do not involve traversing the local filesystem. These include:
- editables (-e git+https://github.com/toastdriven/pyelasticsearch.git)
- version control URIs
- egg hashes and subdirectories (#egg=django-haystack&subdirectory=setup)
- extras (DocParser[PDF])
- URLs
For more details and examples, the documentation is available at: http://requirements-parser.readthedocs.io.