python-inspector


Namepython-inspector JSON
Version 0.12.0 PyPI version JSON
download
home_pagehttps://github.com/nexB/python-inspector
Summarypython-inspector is is a collection of utilities to collect PyPI package metadata and resolve packages dependencies.
upload_time2024-03-28 14:26:41
maintainerNone
docs_urlNone
authornexB. Inc. and others
requires_python>=3.7
licenseApache-2.0
keywords open source scan package dependency pypi python sbom sca dependencies dependency resolution resolver resolvelib pip requirements
VCS
bugtrack_url
requirements attrs beautifulsoup4 certifi charset-normalizer click colorama commoncode dparse2 idna importlib-metadata intbitset packageurl-python packaging packvers pip-requirements-parser pkginfo2 pyparsing PyYAML requests resolvelib saneyaml soupsieve text-unidecode toml urllib3 zipp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            python-inspector - inspect Python packages dependencies and metadata
=====================================================================


Copyright (c) nexB Inc. and others.
SPDX-License-Identifier: Apache-2.0
Homepage: https://github.com/nexB/python-inspector and https://www.aboutcode.org/


``python-inspector`` is a collection of utilities to:

- resolve PyPI packages dependencies

- parse various requirements.txt files and setup.py files as input
  for resolving dependencies.

- parse additionally various manifests and packages files such as
  Pipfile, pyproject.toml, poetry.lock and setup.cfg and legacy and
  current metadata file formats for eggs, wheels and sdist. These
  have not been wired with the command line yet.

- query PyPI JSON and simple APIs for package information

It grew out of ScanCode toolkit to find and analyze PyPI archives and
installed Python packages and their files.

The goal of python-inspector is to be a comprehensive library
that can handle every style of Python package layouts, manifests and lockfiles.


Testing
--------

- Run the tests with::

    pytest -vvs

- These are live tests to regenrate the tests with updated data run::
  
      PYINSP_REGEN_TEST_FIXTURES=yes pytest -vvs

Usage
--------

- Install with pip::

    pip install git+https://github.com/nexB/python-inspector

- Run the command line utility with::

    python-inspector --help



Its companion libraries are:

- ``pip-requirements-parser``, a mostly correct pip requirements parsing
  library extracted from pip.

- ``pkginfo2``, a safer fork of pkginfo to parse various installed and extracted
  package layouts and their metadata files.

- ``dparse2``, a safer fork of dparse to parse various package manifests

- ``resolvelib``, the library used by pip for dependency resolution

- ``packaging``, the official Python packaging utility library to process
  versions, specifiers, markers  and other packaging data formats.

- ``importlib_metadata``, the official Python utility library to process
  installed site-packages and their metadata formats.

- ``packageurl-python`` to use Package URL to reference Python packages
 
 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nexB/python-inspector",
    "name": "python-inspector",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "open source, scan, package, dependency, pypi, python, SBOM, sca, dependencies, dependency resolution, resolver, resolvelib, pip, requirements",
    "author": "nexB. Inc. and others",
    "author_email": "info@aboutcode.org",
    "download_url": "https://files.pythonhosted.org/packages/0c/93/d881a929b2c405617ea5e2188ff6f89ad8fe9f75d9c92b78fdf703a06fb1/python-inspector-0.12.0.tar.gz",
    "platform": null,
    "description": "python-inspector - inspect Python packages dependencies and metadata\n=====================================================================\n\n\nCopyright (c) nexB Inc. and others.\nSPDX-License-Identifier: Apache-2.0\nHomepage: https://github.com/nexB/python-inspector and https://www.aboutcode.org/\n\n\n``python-inspector`` is a collection of utilities to:\n\n- resolve PyPI packages dependencies\n\n- parse various requirements.txt files and setup.py files as input\n  for resolving dependencies.\n\n- parse additionally various manifests and packages files such as\n  Pipfile, pyproject.toml, poetry.lock and setup.cfg and legacy and\n  current metadata file formats for eggs, wheels and sdist. These\n  have not been wired with the command line yet.\n\n- query PyPI JSON and simple APIs for package information\n\nIt grew out of ScanCode toolkit to find and analyze PyPI archives and\ninstalled Python packages and their files.\n\nThe goal of python-inspector is to be a comprehensive library\nthat can handle every style of Python package layouts, manifests and lockfiles.\n\n\nTesting\n--------\n\n- Run the tests with::\n\n    pytest -vvs\n\n- These are live tests to regenrate the tests with updated data run::\n  \n      PYINSP_REGEN_TEST_FIXTURES=yes pytest -vvs\n\nUsage\n--------\n\n- Install with pip::\n\n    pip install git+https://github.com/nexB/python-inspector\n\n- Run the command line utility with::\n\n    python-inspector --help\n\n\n\nIts companion libraries are:\n\n- ``pip-requirements-parser``, a mostly correct pip requirements parsing\n  library extracted from pip.\n\n- ``pkginfo2``, a safer fork of pkginfo to parse various installed and extracted\n  package layouts and their metadata files.\n\n- ``dparse2``, a safer fork of dparse to parse various package manifests\n\n- ``resolvelib``, the library used by pip for dependency resolution\n\n- ``packaging``, the official Python packaging utility library to process\n  versions, specifiers, markers  and other packaging data formats.\n\n- ``importlib_metadata``, the official Python utility library to process\n  installed site-packages and their metadata formats.\n\n- ``packageurl-python`` to use Package URL to reference Python packages\n \n \n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "python-inspector is is a collection of utilities to collect PyPI package metadata and resolve packages dependencies.",
    "version": "0.12.0",
    "project_urls": {
        "Homepage": "https://github.com/nexB/python-inspector"
    },
    "split_keywords": [
        "open source",
        " scan",
        " package",
        " dependency",
        " pypi",
        " python",
        " sbom",
        " sca",
        " dependencies",
        " dependency resolution",
        " resolver",
        " resolvelib",
        " pip",
        " requirements"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "497d33e5e0971471db8d3f3acace8ab8ba86e2a70dff4dbe6c8b6d1b03ac67bc",
                "md5": "4ae138cb7e180905033c77a7ad0f73f6",
                "sha256": "601aca61cc6f31d2e12e63e2e55b25b6e61f6b06a28d6d6bfbf96f62ac353d46"
            },
            "downloads": -1,
            "filename": "python_inspector-0.12.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4ae138cb7e180905033c77a7ad0f73f6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 92928,
            "upload_time": "2024-03-28T14:26:39",
            "upload_time_iso_8601": "2024-03-28T14:26:39.676264Z",
            "url": "https://files.pythonhosted.org/packages/49/7d/33e5e0971471db8d3f3acace8ab8ba86e2a70dff4dbe6c8b6d1b03ac67bc/python_inspector-0.12.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c93d881a929b2c405617ea5e2188ff6f89ad8fe9f75d9c92b78fdf703a06fb1",
                "md5": "09c34b66df0320e71e5ac6fe8113ae86",
                "sha256": "be4885ae16c8a4eb0f3b21cbea59be9a0b5b1102b87ee18c62aa604c3ca7e7ac"
            },
            "downloads": -1,
            "filename": "python-inspector-0.12.0.tar.gz",
            "has_sig": false,
            "md5_digest": "09c34b66df0320e71e5ac6fe8113ae86",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 1473778,
            "upload_time": "2024-03-28T14:26:41",
            "upload_time_iso_8601": "2024-03-28T14:26:41.692680Z",
            "url": "https://files.pythonhosted.org/packages/0c/93/d881a929b2c405617ea5e2188ff6f89ad8fe9f75d9c92b78fdf703a06fb1/python-inspector-0.12.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-28 14:26:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nexB",
    "github_project": "python-inspector",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "22.1.0"
                ]
            ]
        },
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    "==",
                    "4.11.1"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2022.6.15"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.3"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.5"
                ]
            ]
        },
        {
            "name": "commoncode",
            "specs": [
                [
                    "==",
                    "30.2.0"
                ]
            ]
        },
        {
            "name": "dparse2",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.3"
                ]
            ]
        },
        {
            "name": "importlib-metadata",
            "specs": [
                [
                    "==",
                    "4.12.0"
                ]
            ]
        },
        {
            "name": "intbitset",
            "specs": [
                [
                    "==",
                    "3.1.0"
                ]
            ]
        },
        {
            "name": "packageurl-python",
            "specs": [
                [
                    "==",
                    "0.10.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "21.3"
                ]
            ]
        },
        {
            "name": "packvers",
            "specs": [
                [
                    "==",
                    "21.5"
                ]
            ]
        },
        {
            "name": "pip-requirements-parser",
            "specs": [
                [
                    "==",
                    "32.0.1"
                ]
            ]
        },
        {
            "name": "pkginfo2",
            "specs": [
                [
                    "==",
                    "30.0.0"
                ]
            ]
        },
        {
            "name": "pyparsing",
            "specs": [
                [
                    "==",
                    "3.0.9"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    "==",
                    "6.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.28.1"
                ]
            ]
        },
        {
            "name": "resolvelib",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "saneyaml",
            "specs": [
                [
                    "==",
                    "0.5.2"
                ]
            ]
        },
        {
            "name": "soupsieve",
            "specs": [
                [
                    "==",
                    "2.3.2.post1"
                ]
            ]
        },
        {
            "name": "text-unidecode",
            "specs": [
                [
                    "==",
                    "1.3"
                ]
            ]
        },
        {
            "name": "toml",
            "specs": [
                [
                    "==",
                    "0.10.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "1.26.11"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    "==",
                    "3.8.1"
                ]
            ]
        }
    ],
    "lcname": "python-inspector"
}
        
Elapsed time: 0.25255s