ducktools-pythonfinder 0.9.1__tar.gz → 0.9.2__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.9.1/src/ducktools_pythonfinder.egg-info → ducktools_pythonfinder-0.9.2}/PKG-INFO +1 -1
  2. ducktools_pythonfinder-0.9.2/src/ducktools/pythonfinder/_version.py +2 -0
  3. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/details_script.py +9 -1
  4. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/shared.py +1 -1
  5. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2/src/ducktools_pythonfinder.egg-info}/PKG-INFO +1 -1
  6. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_uv_finder.py +6 -6
  7. ducktools_pythonfinder-0.9.1/src/ducktools/pythonfinder/_version.py +0 -2
  8. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/.gitignore +0 -0
  9. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/LICENSE +0 -0
  10. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/MANIFEST.in +0 -0
  11. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/README.md +0 -0
  12. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/pyproject.toml +0 -0
  13. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/build_zipapp.py +0 -0
  14. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/detail_this_python.py +0 -0
  15. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/list_python_venvs.py +0 -0
  16. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/print_python_versions.py +0 -0
  17. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/setup.cfg +0 -0
  18. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/__init__.py +0 -0
  19. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/__main__.py +0 -0
  20. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/darwin/__init__.py +0 -0
  21. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/linux/__init__.py +0 -0
  22. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/linux/pyenv_search.py +0 -0
  23. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/package_list_script.py +0 -0
  24. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/pythonorg_search.py +0 -0
  25. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/venv.py +0 -0
  26. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/win32/__init__.py +0 -0
  27. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/win32/pyenv_search.py +0 -0
  28. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/win32/registry_search.py +0 -0
  29. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/SOURCES.txt +0 -0
  30. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/dependency_links.txt +0 -0
  31. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/entry_points.txt +0 -0
  32. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/requires.txt +0 -0
  33. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/top_level.txt +0 -0
  34. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/conftest.py +0 -0
  35. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/sources/python_versions.txt +0 -0
  36. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/sources/release.json +0 -0
  37. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/sources/release_file.json +0 -0
  38. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_cache.py +0 -0
  39. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_details_script.py +0 -0
  40. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_foldersearch.py +0 -0
  41. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_orgsearch.py +0 -0
  42. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_pyenv.py +0 -0
  43. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_shared.py +0 -0
  44. {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/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.9.1
3
+ Version: 0.9.2
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.9.2"
2
+ __version_tuple__ = (0, 9, 2)
@@ -103,10 +103,18 @@ def get_details():
103
103
  else:
104
104
  paths = sysconfig.get_paths()
105
105
 
106
+ # Use struct to correctly identify GraalPy as 64 bit
107
+ try:
108
+ import struct
109
+ except ImportError:
110
+ architecture = "64bit" if (sys.maxsize > 2**32) else "32bit"
111
+ else:
112
+ architecture = "32bit" if (struct.calcsize("P") == 4) else "64bit"
113
+
106
114
  install = dict(
107
115
  version=list(sys.version_info),
108
116
  executable=sys.executable,
109
- architecture="64bit" if (sys.maxsize > 2**32) else "32bit",
117
+ architecture=architecture,
110
118
  implementation=implementation,
111
119
  metadata=metadata,
112
120
  paths=paths,
@@ -531,7 +531,7 @@ def _implementation_from_uv_dir(
531
531
 
532
532
  for pth in python_paths:
533
533
  if os.path.exists(pth):
534
- install = finder.get_install_details(pth, managed_by="Astral uv")
534
+ install = finder.get_install_details(pth, managed_by="Astral")
535
535
  break
536
536
 
537
537
  return install
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ducktools-pythonfinder
3
- Version: 0.9.1
3
+ Version: 0.9.2
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,18 +1,18 @@
1
1
  # ducktools-pythonfinder
2
2
  # MIT License
3
- #
3
+ #
4
4
  # Copyright (c) 2023-2025 David C Ellis
5
- #
5
+ #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the "Software"), to deal
8
8
  # in the Software without restriction, including without limitation the rights
9
9
  # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
10
  # copies of the Software, and to permit persons to whom the Software is
11
11
  # furnished to do so, subject to the following conditions:
12
- #
12
+ #
13
13
  # The above copyright notice and this permission notice shall be included in all
14
14
  # copies or substantial portions of the Software.
15
- #
15
+ #
16
16
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
17
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
18
  # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -138,7 +138,7 @@ class TestUVReal:
138
138
  assert len(pythons) == 1
139
139
  assert pythons[0].version_str == "3.12.6"
140
140
  assert pythons[0].implementation == "cpython"
141
- assert pythons[0].managed_by == "Astral uv"
141
+ assert pythons[0].managed_by == "Astral"
142
142
 
143
143
  @pytest.mark.uv_python
144
144
  def test_finds_installed_pypy(self, uv_pythondir, temp_finder):
@@ -152,7 +152,7 @@ class TestUVReal:
152
152
  assert pythons[0].version >= (3, 10, 14)
153
153
  assert pythons[0].implementation == "pypy"
154
154
  assert pythons[0].implementation_version >= (7, 3, 17)
155
- assert pythons[0].managed_by == "Astral uv"
155
+ assert pythons[0].managed_by == "Astral"
156
156
 
157
157
 
158
158
  def test_regex_matches():
@@ -1,2 +0,0 @@
1
- __version__ = "0.9.1"
2
- __version_tuple__ = (0, 9, 1)