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] [version_spec]
Find python files in a directory
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
Integration
FindPython finds Python from the following places:
PATHenvironment variable- pyenv
- asdf
/Library/Frameworks/Python.framework/Versions(MacOS)- winreg (Windows)
License
FindPython is released under MIT License.
Metadata
Release files for findpython 0.1.5
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.1.5.tar.gz | 15.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| findpython-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.2 kB
Release files / findpython-0.1.5.tar.gz
| Download URL | findpython-0.1.5.tar.gz |
|---|---|
| Size | 15.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0234e64ca2215a1977f4ed7c4b65d1571783888cc2a4a1f6a9d8e463687e8bc3
|
|
BLAKE2b-256 checksum How to use checksums |
96d41ca75916cfe1647d0f3b99e886e6337bce92c9ed5bed6c5df56e898a9e0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|
Release files / findpython-0.1.5-py3-none-any.whl
| Download URL | findpython-0.1.5-py3-none-any.whl |
|---|---|
| Size | 19.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
670e0a45ed75874763f416c347868713e59a4de1c30937799ff1f160d60cd2b0
|
|
BLAKE2b-256 checksum How to use checksums |
22dc619c53d596f6a191c1afe08e9d0bf61b58a690db5025f6c3642cd6b9b76f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|