Skip to main content

Python interpreter discovery

Project description

python-discovery

PyPI Supported Python versions Downloads check Documentation Status

What is python-discovery?

python-discovery is a library for discovering Python interpreters installed on your machine. You may have multiple Python versions from system packages, pyenv, mise, asdf, uv, or the Windows registry (PEP 514). This library finds the right one for you.

Give it a requirement like python3.12 or >=3.11,<3.13, and it searches all known locations, verifies each candidate, and returns detailed metadata about the match. Results are cached to disk so repeated lookups are fast.

Usage

from pathlib import Path

from python_discovery import DiskCache, get_interpreter

cache = DiskCache(root=Path("~/.cache/python-discovery").expanduser())
result = get_interpreter("python3.12", cache=cache)
if result is not None:
    print(result.executable)  # /usr/bin/python3.12
    print(result.implementation)  # CPython
    print(result.version_info[:3])  # (3, 12, 1)

The get_interpreter() function accepts various specification formats:

  • Absolute path: /usr/bin/python3.12
  • Version: 3.12
  • Implementation prefix: cpython3.12
  • PEP 440 specifier: >=3.10, >=3.11,<3.13

Documentation

Full documentation is available at python-discovery.readthedocs.io

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_discovery-1.1.3.tar.gz (56.9 kB view details)

Uploaded Source

Built Distribution

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

python_discovery-1.1.3-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

Details for the file python_discovery-1.1.3.tar.gz.

File metadata

  • Download URL: python_discovery-1.1.3.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_discovery-1.1.3.tar.gz
Algorithm Hash digest
SHA256 7acca36e818cd88e9b2ba03e045ad7e93e1713e29c6bbfba5d90202310b7baa5
MD5 6c6477aea1ab63e531b244b28df76d6e
BLAKE2b-256 d77e9f3b0dd3a074a6c3e1e79f35e465b1f2ee4b262d619de00cfce523cc9b24

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_discovery-1.1.3.tar.gz:

Publisher: release.yaml on tox-dev/python-discovery

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_discovery-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for python_discovery-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 90e795f0121bc84572e737c9aa9966311b9fde44ffb88a5953b3ec9b31c6945e
MD5 b0180d743143844edbe55038f3aca798
BLAKE2b-256 e78073211fc5bfbfc562369b4aa61dc1e4bf07dc7b34df7b317e4539316b809c

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_discovery-1.1.3-py3-none-any.whl:

Publisher: release.yaml on tox-dev/python-discovery

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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