A parser for Python manifests and dependency files now at https://github.com/aboutcode-org/dparse2
Originally at https://github.com/pyupio/dparse
This is a maintained fork by some of the contributors since upstream stopped updating this.
File | parse |
---|---|
conda.yml | yes |
tox.ini | yes |
Pipfile | yes |
Pipfile.lock | yes |
To install dparse2, run:
$ pip install dparse2
If you want to update Pipfiles, install the pipenv extra:
$ pip install dparse2[pipenv]
To use dparse2 in a Python project:
from dparse2 import parse from dparse2 import 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": [] } ] }
This tool supports Python 3.6 and up. Older version support older Python versions