FindPython
A utility to find python versions on your system.
Description
This library is a rewrite of pythonfinder project by @techalchemy. It simplifies the whole code structure while preserving most of the original features.
Installation
FindPython is installable via any kind of package manager including pip:
pip install findpython
Usage
>>> import findpython
>>> findpython.find(3, 9) # Find by major and minor version
<PythonVersion executable=PosixPath('/opt/homebrew/bin/python3.9'), version=<Version('3.9.10')>, architecture='64bit', major=3, minor=9, patch=10>
>>> findpython.find("3.9") # Find by version string
<PythonVersion executable=PosixPath('/opt/homebrew/bin/python3.9'), version=<Version('3.9.10')>, architecture='64bit', major=3, minor=9, patch=10>
>>> findpython.find("3.9-32") # Find by version string and architecture
<PythonVersion executable=WindowsPath('C:\\Python\\3.9-32\\python.exe'), version=<Version('3.9.10')>, architecture='32bit', major=3, minor=9, patch=10>
>>> findpython.find(name="python3") # Find by executable name
<PythonVersion executable=PosixPath('/Users/fming/Library/PythonUp/bin/python3'), version=<Version('3.10.2')>, architecture='64bit', major=3, minor=10, patch=2>
>>> findpython.find("python3") # Find by executable name without keyword argument, same as above
<PythonVersion executable=PosixPath('/Users/fming/Library/PythonUp/bin/python3'), version=<Version('3.10.2')>, architecture='64bit', major=3, minor=10, patch=2>
>>> findpython.find_all(major=3, minor=9) # Same arguments as `find()`, but return all matches
[<PythonVersion executable=PosixPath('/opt/homebrew/bin/python3.9'), version=<Version('3.9.10')>, architecture='64bit', major=3, minor=9, patch=10>, <PythonVersion executable=PosixPath('/opt/homebrew/bin/python3'), version=<Version('3.9.10')>, architecture='64bit', major=3, minor=9, patch=10>, <PythonVersion executable=PosixPath('/Users/fming/Library/PythonUp/cmd/python3.9'), version=<Version('3.9.9')>, architecture='64bit', major=3, minor=9, patch=9>, <PythonVersion executable=PosixPath('/usr/local/bin/python3.9'), version=<Version('3.9.5')>, architecture='64bit', major=3, minor=9, patch=5>, <PythonVersion executable=PosixPath('/usr/local/bin/python3'), version=<Version('3.9.5')>, architecture='64bit', major=3, minor=9, patch=5>]
CLI Usage
In addition, FindPython provides a CLI interface to find python versions:
usage: findpython [-h] [-V] [-a] [--resolve-symlink] [-v] [--no-same-file] [--no-same-python] [--providers PROVIDERS]
[version_spec]
A utility to find python versions on your system
positional arguments:
version_spec Python version spec or name
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-a, --all Show all matching python versions
--resolve-symlink Resolve all symlinks
-v, --verbose Verbose output
--no-same-file Eliminate the duplicated results with the same file contents
--no-same-python Eliminate the duplicated results with the same sys.executable
--providers PROVIDERS
Select provider(s) to use
Integration
FindPython finds Python from the following places:
PATHenvironment variable- pyenv install root
- asdf python install root
- rye toolchain install root
- uv toolchain install root
/Library/Frameworks/Python.framework/Versions(MacOS)- Windows registry (Windows only)
License
FindPython is released under MIT License.
Release files for findpython 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| findpython-0.8.0.tar.gz | 18.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| findpython-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.9 kB
Release files / findpython-0.8.0.tar.gz
| Download URL | findpython-0.8.0.tar.gz |
|---|---|
| Size | 18.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53b32264874dfa5990bd09d717819386d8db3149d89fe20f88fe1078de286bae
|
|
BLAKE2b-256 checksum How to use checksums |
78e5dd65baa266c24fa2ff9aaed20e17ec6530c063939fd11741964085a02d76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / findpython-0.8.0-py3-none-any.whl
| Download URL | findpython-0.8.0-py3-none-any.whl |
|---|---|
| Size | 22.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a61ee1618a8b55014f7d41f59345d322be93f6ce62395bdccccc651b3f7e28a
|
|
BLAKE2b-256 checksum How to use checksums |
bba5fae2000239a1f0225c9f31ec5f790f465d3cf135e79937ad19c876303e21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|