Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 1.32 KB

File metadata and controls

49 lines (35 loc) · 1.32 KB

python-discovery

You may have multiple Python versions installed on your machine -- system Python, versions from pyenv, mise, asdf, uv, or the Windows registry (PEP 514). python-discovery 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.

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)
.. toctree::
   :caption: Tutorials
   :hidden:

   tutorial/getting-started

.. toctree::
   :caption: How-to Guides
   :hidden:

   how-to/standalone-usage

.. toctree::
   :caption: Reference
   :hidden:

   reference/api
   reference/environment-variables

.. toctree::
   :caption: Explanation
   :hidden:

   explanation