Skip to main content

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
  • Version specifier: >=3.10, >=3.11,<3.13

Documentation

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

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.5.0.tar.gz (72.5 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.5.0-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for python_discovery-1.5.0.tar.gz
Algorithm Hash digest
SHA256 3e014c6327154d3dda27939a9a0dc9c5c000439f1906d3f303b48f984bd2ecef
MD5 fa5e7eb785333ec71aeed08cfd9cf8da
BLAKE2b-256 f151276f964496a5714ab9f320896195639086881c2b39c03b5ad13de84acbb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_discovery-1.5.0.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.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for python_discovery-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70c4fc61b4e7404e44f01d6fc44a715c4d685ca6cea83d295922f05891877c98
MD5 a731a33f1bc977c2a43b61e2c867074f
BLAKE2b-256 c77b14882602ddee241d7984a742fcb423cb4a30fb0d6efc546ac3129fba475a

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_discovery-1.5.0-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