An unofficial, importable 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
pipversion as a string, e.g."9.0.1" -
pip_api.installed_distributions()Returns a list of all installed distributions as a
Distributionobject with the following attributes:Distribution.name(string): The name of the installed distributionDistribution.version(packaging.version.Version): The version of the installed distributionDistribution.location(string): The location of the installed distributionDistribution.editable(bool): Whether the distribution is editable or not
-
pip_api.parse_requirements(filename, options=None, include_invalid=False)Takes a path to a filename of a Requirements file. Returns a mapping from package name to a
packaging.requirements.Requirementobject 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): ASpecifierSetof the version specified by the requirement.Requirement.marker(packaging.markers.Marker): AMarkerof the marker for the requirement. Can be None.Optionally takes anoptionsparameter to override the regex used to skip requirements lines. Optionally takes aninclude_invalidparameter to return anUnparsedRequirement` in the event that a requirement cannot be parsed correctly.
Available with pip>=8.0.0:
pip_api.hash(filename, algorithm='sha256')Returns the resulting as a string. Valid
algorithmparameters are'sha256','sha384', and'sha512'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pip-api-0.0.20.tar.gz.
File metadata
- Download URL: pip-api-0.0.20.tar.gz
- Upload date:
- Size: 111.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1da0b47824c0b6c2830f2767e7304820d148475e4d08979add271da32917598e
|
|
| MD5 |
784060d9f26cde53db3a52d8da07999a
|
|
| BLAKE2b-256 |
ea546a3f8f53eac1f2266e9ee3fa5bad5784e6219de03f6af13b0f5dbf1c3899
|
File details
Details for the file pip_api-0.0.20-py3-none-any.whl.
File metadata
- Download URL: pip_api-0.0.20-py3-none-any.whl
- Upload date:
- Size: 112.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74227da7102523339d7b6e2f6e105821b04415bdb5f096e170b0ababf88d074f
|
|
| MD5 |
0f508547a72bc0bd92fc1d3df32d295f
|
|
| BLAKE2b-256 |
300bf3f86bb25538451509d9a0b40fadedccaa127ef6f43d53fb452b781f68c6
|