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.
- {ducktools_pythonfinder-0.9.1/src/ducktools_pythonfinder.egg-info → ducktools_pythonfinder-0.9.2}/PKG-INFO +1 -1
- ducktools_pythonfinder-0.9.2/src/ducktools/pythonfinder/_version.py +2 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/details_script.py +9 -1
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/shared.py +1 -1
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2/src/ducktools_pythonfinder.egg-info}/PKG-INFO +1 -1
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_uv_finder.py +6 -6
- ducktools_pythonfinder-0.9.1/src/ducktools/pythonfinder/_version.py +0 -2
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/.gitignore +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/LICENSE +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/MANIFEST.in +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/README.md +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/pyproject.toml +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/build_zipapp.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/detail_this_python.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/list_python_venvs.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/print_python_versions.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/setup.cfg +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/__init__.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/__main__.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/darwin/__init__.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/linux/__init__.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/linux/pyenv_search.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/package_list_script.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/pythonorg_search.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/venv.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/win32/__init__.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/win32/pyenv_search.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/win32/registry_search.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/SOURCES.txt +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/dependency_links.txt +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/entry_points.txt +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/requires.txt +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools_pythonfinder.egg-info/top_level.txt +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/conftest.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/sources/python_versions.txt +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/sources/release.json +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/sources/release_file.json +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_cache.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_details_script.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_foldersearch.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_orgsearch.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_pyenv.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_shared.py +0 -0
- {ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/test_venv_finder.py +0 -0
|
@@ -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=
|
|
117
|
+
architecture=architecture,
|
|
110
118
|
implementation=implementation,
|
|
111
119
|
metadata=metadata,
|
|
112
120
|
paths=paths,
|
{ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/shared.py
RENAMED
|
@@ -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
|
|
534
|
+
install = finder.get_install_details(pth, managed_by="Astral")
|
|
535
535
|
break
|
|
536
536
|
|
|
537
537
|
return install
|
|
@@ -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
|
|
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
|
|
155
|
+
assert pythons[0].managed_by == "Astral"
|
|
156
156
|
|
|
157
157
|
|
|
158
158
|
def test_regex_matches():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/scripts/print_python_versions.py
RENAMED
|
File without changes
|
|
File without changes
|
{ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/__init__.py
RENAMED
|
File without changes
|
{ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/src/ducktools/pythonfinder/venv.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/sources/python_versions.txt
RENAMED
|
File without changes
|
|
File without changes
|
{ducktools_pythonfinder-0.9.1 → ducktools_pythonfinder-0.9.2}/tests/sources/release_file.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|