Skip to main content

python-inspector is is a collection of utilities to collect PyPI package metadata and resolve packages dependencies.

Project description

Copyright (c) nexB Inc. and others. SPDX-License-Identifier: Apache-2.0 Homepage: https://github.com/aboutcode-org/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 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
  • There are live tests to regenerate the tests with updated data run:

    PYINSP_REGEN_TEST_FIXTURES=yes pytest -vvs

Usage

  • Install with pip:

    pip install git+https://github.com/aboutcode-org/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

Acknowledgements, Funding, Support and Sponsoring

This project is funded, supported and sponsored by:

  • Generous support and contributions from users like you!

  • the European Commission NGI programme

  • the NLnet Foundation

  • the Swiss State Secretariat for Education, Research and Innovation (SERI)

  • Google, including the Google Summer of Code and the Google Seasons of Doc programmes

  • Mercedes-Benz Group

  • Microsoft and Microsoft Azure

  • AboutCode ASBL

  • nexB Inc.

Europa logo EC DG Connect logo

NGI logo NLnet foundation logo

AboutCode logo nexB logo

This project was funded through the NGI0 Discovery Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.

NGI Discovery logo https://nlnet.nl/project/vulnerabilitydatabase/

This project was funded through the NGI0 Core Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101092990.

NGI Zero Core Logo https://nlnet.nl/project/Back2source-next/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_inspector-0.14.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_inspector-0.14.0-py3-none-any.whl (101.1 kB view details)

Uploaded Python 3

File details

Details for the file python_inspector-0.14.0.tar.gz.

File metadata

  • Download URL: python_inspector-0.14.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for python_inspector-0.14.0.tar.gz
Algorithm Hash digest
SHA256 2d06a7b2494f7c1a254cb43ac27000a152f07f1376574d541279503ad02a7101
MD5 b4e7a8e4a3c7df2a3071f2911ef41ae1
BLAKE2b-256 67e708b8d5f609deb5c779b17ec09df48be4aea054174977fc53c5546e4494fb

See more details on using hashes here.

File details

Details for the file python_inspector-0.14.0-py3-none-any.whl.

File metadata

File hashes

Hashes for python_inspector-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 188da2263fbb9d896c56568fb3ddcd9a03ca9882b62b846a9053fea45651c8b7
MD5 c21489d6b8a5c2db787a15ee4bba48c0
BLAKE2b-256 71c68f19de34bfff6b92b0bedc702a09d9e4b078846fb7a3afc04ea0649f8881

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page