ducktools-pythonfinder 0.8.4__tar.gz → 0.8.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. {ducktools_pythonfinder-0.8.4/src/ducktools_pythonfinder.egg-info → ducktools_pythonfinder-0.8.6}/PKG-INFO +1 -1
  2. ducktools_pythonfinder-0.8.6/src/ducktools/pythonfinder/_version.py +2 -0
  3. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/shared.py +13 -4
  4. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/win32/pyenv_search.py +3 -1
  5. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/win32/registry_search.py +3 -1
  6. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6/src/ducktools_pythonfinder.egg-info}/PKG-INFO +1 -1
  7. ducktools_pythonfinder-0.8.4/src/ducktools/pythonfinder/_version.py +0 -2
  8. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/.gitignore +0 -0
  9. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/LICENSE +0 -0
  10. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/MANIFEST.in +0 -0
  11. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/README.md +0 -0
  12. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/pyproject.toml +0 -0
  13. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/scripts/build_zipapp.py +0 -0
  14. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/scripts/detail_this_python.py +0 -0
  15. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/scripts/list_python_venvs.py +0 -0
  16. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/scripts/print_python_versions.py +0 -0
  17. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/setup.cfg +0 -0
  18. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/__init__.py +0 -0
  19. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/__main__.py +0 -0
  20. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/darwin/__init__.py +0 -0
  21. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/details_script.py +0 -0
  22. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/linux/__init__.py +0 -0
  23. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/linux/pyenv_search.py +0 -0
  24. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/package_list_script.py +0 -0
  25. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/pythonorg_search.py +0 -0
  26. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/venv.py +0 -0
  27. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools/pythonfinder/win32/__init__.py +0 -0
  28. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools_pythonfinder.egg-info/SOURCES.txt +0 -0
  29. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools_pythonfinder.egg-info/dependency_links.txt +0 -0
  30. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools_pythonfinder.egg-info/entry_points.txt +0 -0
  31. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools_pythonfinder.egg-info/requires.txt +0 -0
  32. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/src/ducktools_pythonfinder.egg-info/top_level.txt +0 -0
  33. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/conftest.py +0 -0
  34. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/sources/python_versions.txt +0 -0
  35. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/sources/release.json +0 -0
  36. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/sources/release_file.json +0 -0
  37. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/test_cache.py +0 -0
  38. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/test_details_script.py +0 -0
  39. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/test_foldersearch.py +0 -0
  40. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/test_orgsearch.py +0 -0
  41. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/test_pyenv.py +0 -0
  42. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/test_shared.py +0 -0
  43. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/test_uv_finder.py +0 -0
  44. {ducktools_pythonfinder-0.8.4 → ducktools_pythonfinder-0.8.6}/tests/test_venv_finder.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ducktools-pythonfinder
3
- Version: 0.8.4
3
+ Version: 0.8.6
4
4
  Summary: Cross platform tool to find available python installations
5
5
  Author: David C Ellis
6
6
  Project-URL: Homepage, https://github.com/davidcellis/ducktools-pythonfinder
@@ -0,0 +1,2 @@
1
+ __version__ = "0.8.6"
2
+ __version_tuple__ = (0, 8, 6)
@@ -502,14 +502,23 @@ def _implementation_from_uv_dir(
502
502
  direntry: os.DirEntry,
503
503
  finder: DetailFinder | None = None,
504
504
  ) -> PythonInstall | None:
505
- python_exe = "python.exe" if sys.platform == "win32" else "bin/python"
506
- python_path = os.path.join(direntry, python_exe)
505
+ if sys.platform == "win32":
506
+ python_paths = [
507
+ os.path.join(direntry, "python.exe"),
508
+ os.path.join(direntry, "bin/python.exe"), # graalpy
509
+ ]
510
+ else:
511
+ python_paths = [
512
+ os.path.join(direntry, "bin/python")
513
+ ]
507
514
 
508
515
  install: PythonInstall | None = None
509
516
  finder = DetailFinder() if finder is None else finder
510
517
 
511
- if os.path.exists(python_path):
512
- install = finder.get_install_details(python_path, managed_by="Astral")
518
+ for pth in python_paths:
519
+ if os.path.exists(pth):
520
+ install = finder.get_install_details(pth, managed_by="Astral")
521
+ break
513
522
 
514
523
  return install
515
524
 
@@ -72,4 +72,6 @@ def get_pyenv_pythons(
72
72
  executable = os.path.join(p.path, "python.exe")
73
73
 
74
74
  if os.path.exists(executable):
75
- yield finder.get_install_details(executable, managed_by="pyenv")
75
+ install = finder.get_install_details(executable, managed_by="pyenv")
76
+ if install:
77
+ yield install
@@ -113,11 +113,13 @@ def get_registered_pythons(finder: DetailFinder | None = None) -> Iterator[Pytho
113
113
  if python_path:
114
114
  # Pyenv puts architecture information in the Version value for some reason
115
115
  if os.path.isfile(python_path):
116
- yield finder.get_install_details(
116
+ details = finder.get_install_details(
117
117
  python_path,
118
118
  managed_by=metadata["Company"],
119
119
  metadata=metadata,
120
120
  )
121
+ if details:
122
+ yield details
121
123
 
122
124
  finally:
123
125
  if base_key:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ducktools-pythonfinder
3
- Version: 0.8.4
3
+ Version: 0.8.6
4
4
  Summary: Cross platform tool to find available python installations
5
5
  Author: David C Ellis
6
6
  Project-URL: Homepage, https://github.com/davidcellis/ducktools-pythonfinder
@@ -1,2 +0,0 @@
1
- __version__ = "0.8.4"
2
- __version_tuple__ = (0, 8, 4)