Skip to main content

The official unofficial pip API

Project description

Since pip is a command-line-tool, it does not have an official, supported, importable API.

However, this does not mean that people haven't tried to import pip, usually to end up with much headache when pip's maintainers do routine refactoring.

This project attempts to provide an importable pip API, which is fully compliant with the recommended method of using pip from your program.

Supported Commands

Not all commands are supported in all versions of pip and on all platforms. If the command you are trying to use is not compatible, pip_api will raise a pip_api.exceptions.Incompatible exception for your program to catch.

Available with all pip versions:

  • pip_api.version()

    Returns the pip version as a string, e.g. "9.0.1"

  • pip_api.installed_distributions()

    Returns a list of all installed distributions as a Distribution object with the following attributes:

    • Distribution.name (string): The name of the installed distribution
    • Distribution.version (packaging.version.Version): The version of the installed distribution
    • Distribution.location (string): The location of the installed distribution
    • Distribution.editable (bool): Whether the distribution is editable or not
  • pip_api.parse_requirements(filename)

    Takes a path to a filename of a Requirements file. Returns a mapping from package name to a packaging.requirements.Requirement object with the following attributes:

    • Requirement.name (string): The name of the requirement.
    • Requirement.extras (set): A set of extras that the requirement specifies.
    • Requirement.specifier (packaging.specifiers.SpecifierSet): A SpecifierSet of the version specified by the requirement.
    • Requirement.marker (packaging.markers.Marker): A Marker of the marker for the requirement. Can be None.`

Available with pip>=8.0.0:

  • pip_api.hash(filename, algorithm='sha256')

    Returns the resulting as a string. Valid algorithm parameters are 'sha256', 'sha384', and 'sha512'

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

pip-api-0.0.7.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

pip_api-0.0.7-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file pip-api-0.0.7.tar.gz.

File metadata

  • Download URL: pip-api-0.0.7.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for pip-api-0.0.7.tar.gz
Algorithm Hash digest
SHA256 40fd4af5acdfd9c483189731d0a56474a20d97628f2e37efd3b76c92c5093647
MD5 a5c651f98ab809d887073cd5ac405e6d
BLAKE2b-256 74911605275b73fcbaaf82777f4b226f9ea59dcf20ac2f56dd9de3c7095a68bb

See more details on using hashes here.

Provenance

File details

Details for the file pip_api-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: pip_api-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for pip_api-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d40fdaceda0a63f5ae3560992e1419a7334067447b3f6a25e6832aa174e2fee2
MD5 d882259a64541500b2b019e966d5f175
BLAKE2b-256 fb7eef7c7425d588c400a1c47980af5d6f9a1fe181b687a09c51c88e562e8891

See more details on using hashes here.

Provenance

Supported by

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