Package: dparse2
Dependency ParserA parser for Python manifests and dependency files now athttps://github.com/nexB/dparse2Originally athttps://github.com/pyupio/dparseThis is a maintained fork by some of the contributors since upstream stopped
updating this.Supported FilesFileparseconda.ymlyestox.iniyesPipfileyesPipfile.lockyesInstallationTo install dparse2, run:$pipinstalldparse2If you want to update Pipfiles, install the pipenv extra:$pipinstalldparse2[pipenv]UsageTo 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 versionsChangelog0.7.0Use packvers instead of packaging0.6.1Use non-deprecated ConfigParser method0.6.0Fork from upstream dparse that is unresponsiveRename package to dparse2Fix security issue for GHSL-2021-111https://github.com/pyupio/dparse/issues/50Drop support for Python < 3.6 and add support for up to 3.10Drop support for updating requirements filesformat code with black, sort imports0.5.1 (2020-04-26)Fixed package metadata removing 2.7 supportInstall pipenv only when asked for with extras0.5.0 (2020-03-14)A bug with this package allows it to be installed on Python 2.7 environments,
even though it should not work on such version. You should stick with version
0.4.1 version instead for Python 2.7 support.Dropped Python 2.7, 3.3, 3.4 supportRemoved six packageRemoved pinned dependencies of testsDropped setup.py tests support in favor of tox0.4.1 (2018-04-06)Fixed a packaging error.0.4.0 (2018-04-06)pipenv is now an optional dependency that’s only used when updating a Pipfile. Install it with dparse[pipenv]Added support for invalid toml Pipfiles (thanks @pombredanne)0.3.0 (2018-03-01)Added support for setup.cfg files (thanks @kexepal)Dependencies from Pipfiles now include the section (thanks @paulortman)Multiline requirements are now ignored if they are markedAdded experimental support for Pipfiles0.2.1 (2017-07-19)Internal refactoring0.2.0 (2017-07-19)Removed setuptools dependency0.1.1 (2017-07-14)Fixed a bug that was causing the parser to throw errors on invalid requirements.0.1.0 (2017-07-11)Initial, not much to see here.