A parser for Python dependency files
- Free software: MIT license
- Documentation: https://dparse.readthedocs.io.
File | parse | update |
---|---|---|
requirements.txt | yes | yes |
conda.yml | yes | yes |
tox.ini | yes | yes |
Pipfile | yes | yes |
Pifile.lock | yes | yes |
setup.py | no (# 2) | no (# 2) |
zc.buildout | no (# 3) | no (# 3) |
setup.cfg | no (# 4) | no (# 4) |
To install dparse, run:
$ pip install dparse
If you want to update Pipfiles, install the pipenv extra:
$ pip install dparse[pipenv]
To use dparse in a Python project:
from dparse import parse, filetypes content = """ South==1.0.1 --hash=sha256:abcdefghijklmno pycrypto>=2.6 """ df = parse(content, file_type=filetypes.requirements_txt) print(df.json()) { "file_type": "requirements.txt", "content": "\nSouth==1.0.1 --hash=sha256:abcdefghijklmno\npycrypto>=2.6\n", "path": null, "sha": null, "dependencies": [ { "name": "South", "specs": [ [ "==", "1.0.1" ] ], "line": "South==1.0.1 --hash=sha256:abcdefghijklmno", "source": "pypi", "meta": {}, "line_numbers": null, "index_server": null, "hashes": [ "--hash=sha256:abcdefghijklmno" ], "dependency_type": "requirements.txt", "extras": [] }, { "name": "pycrypto", "specs": [ [ ">=", "2.6" ] ], "line": "pycrypto>=2.6", "source": "pypi", "meta": {}, "line_numbers": null, "index_server": null, "hashes": [], "dependency_type": "requirements.txt", "extras": [] } ] }