python-discovery 1.1.3__py3-none-any.whl → 1.2.1__py3-none-any.whl

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.
@@ -6,13 +6,14 @@ from importlib.metadata import version
6
6
 
7
7
  from ._cache import ContentStore, DiskCache, PyInfoCache
8
8
  from ._discovery import get_interpreter
9
- from ._py_info import PythonInfo
9
+ from ._py_info import KNOWN_ARCHITECTURES, PythonInfo
10
10
  from ._py_spec import PythonSpec
11
11
  from ._specifier import SimpleSpecifier, SimpleSpecifierSet, SimpleVersion
12
12
 
13
13
  __version__ = version("python-discovery")
14
14
 
15
15
  __all__ = [
16
+ "KNOWN_ARCHITECTURES",
16
17
  "ContentStore",
17
18
  "DiskCache",
18
19
  "PyInfoCache",
@@ -189,6 +189,7 @@ def _run_subprocess(
189
189
  ) -> tuple[Exception | None, PythonInfo | None]:
190
190
  start_cookie = gen_cookie()
191
191
  end_cookie = gen_cookie()
192
+ timeout = float(env.get("PY_DISCOVERY_TIMEOUT", "15"))
192
193
  with _resolve_py_info_script() as py_info_script:
193
194
  cmd = [exe, str(py_info_script), start_cookie, end_cookie]
194
195
  env = dict(env)
@@ -206,7 +207,7 @@ def _run_subprocess(
206
207
  encoding="utf-8",
207
208
  errors="backslashreplace",
208
209
  )
209
- out, err = process.communicate(timeout=5)
210
+ out, err = process.communicate(timeout=timeout)
210
211
  code = process.returncode
211
212
  except TimeoutExpired:
212
213
  process.kill()
@@ -768,9 +768,23 @@ class PythonInfo: # noqa: PLR0904
768
768
  yield upper
769
769
 
770
770
 
771
+ KNOWN_ARCHITECTURES: frozenset[str] = frozenset({
772
+ "arm64",
773
+ "i686",
774
+ "loongarch64",
775
+ "ppc64",
776
+ "ppc64le",
777
+ "riscv64",
778
+ "s390x",
779
+ "x86",
780
+ "x86_64",
781
+ })
782
+ """Known CPU architecture (ISA) values after normalization."""
783
+
784
+
771
785
  def normalize_isa(isa: str) -> str:
772
786
  low = isa.lower()
773
- return {"amd64": "x86_64", "aarch64": "arm64"}.get(low, low)
787
+ return {"amd64": "x86_64", "aarch64": "arm64", "i386": "x86", "i586": "x86"}.get(low, low)
774
788
 
775
789
 
776
790
  def _main() -> None: # pragma: no cover
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-discovery
3
- Version: 1.1.3
3
+ Version: 1.2.1
4
4
  Summary: Python interpreter discovery
5
5
  Project-URL: Changelog, https://github.com/tox-dev/python-discovery/releases
6
6
  Project-URL: Documentation, https://python-discovery.readthedocs.io
@@ -1,16 +1,16 @@
1
- python_discovery/__init__.py,sha256=Omg3KoCm1ETlMYb9UPsxDJ7ygtFyopJUk-_ln2xrmhs,628
1
+ python_discovery/__init__.py,sha256=_-cpcN1ZKP1uRuQDpxsSbiqd036yyMOAJXe13PzVyqc,676
2
2
  python_discovery/_cache.py,sha256=bG4fD-h2pdPmb4v9BldbXmJ5Tlt1boiH1Qrz8kp9Dds,5063
3
- python_discovery/_cached_py_info.py,sha256=CTqnvHCEnub8vE0kkRx9te4UGRGSXcJCXi-XRulkHBU,8475
3
+ python_discovery/_cached_py_info.py,sha256=1AFEoc_-OaCi1PXmaFz9Iy_bEuqOhJdFSDFHljzD-EE,8540
4
4
  python_discovery/_compat.py,sha256=iqxGuhK9rPaiui80G1H1KrweoMJ16gyLYEmUrSXrp5c,709
5
5
  python_discovery/_discovery.py,sha256=yccO7GNtNuxHtmDHsyqtaASmNHFgKIeEX6Me3jX-GFs,12822
6
- python_discovery/_py_info.py,sha256=7JFVTXoah2ivDeWg0KYqys-ZhzlLdSBwSTnAPQqAG7k,33600
6
+ python_discovery/_py_info.py,sha256=-b47WzGdzVlBr7xQxavrKKjmUpIJ2RSV7wfwxkXKi5I,33873
7
7
  python_discovery/_py_spec.py,sha256=rhm9uahWSQL3JLyyMmM2HQVhrTMVnHnZEAhArkjeNtM,9601
8
8
  python_discovery/_specifier.py,sha256=PTh6suNTC0hMnFSxFYF_vggdciFLnwxoh1YflSbgCXA,10368
9
9
  python_discovery/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  python_discovery/_windows/__init__.py,sha256=qthcyGh36b3WkeSbZ4ECRRYLbCOCaQu5X_DRZ98tXfk,315
11
11
  python_discovery/_windows/_pep514.py,sha256=JYSQ5tOYbSMOKtVVfOEkyYskBhEoTsImNr3DJcv7XNE,7658
12
12
  python_discovery/_windows/_propose.py,sha256=iMJf6l0TU4SvuV8UsCHHINAe9L5dUT949xyeyMVdong,1565
13
- python_discovery-1.1.3.dist-info/METADATA,sha256=i9erm4S9TcyhTiiIaJ0lc6B1Np_1buU1ooT1mzyWtuY,5404
14
- python_discovery-1.1.3.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
15
- python_discovery-1.1.3.dist-info/licenses/LICENSE,sha256=kOJeH68qSq6o2V7o5_VziwUqGswMnFgGgQH5Mahr1Yg,1023
16
- python_discovery-1.1.3.dist-info/RECORD,,
13
+ python_discovery-1.2.1.dist-info/METADATA,sha256=IakgM5Ss1sLajW-_p4TQRscNlvVmB2oP_X0mdUvDD-M,5404
14
+ python_discovery-1.2.1.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
15
+ python_discovery-1.2.1.dist-info/licenses/LICENSE,sha256=kOJeH68qSq6o2V7o5_VziwUqGswMnFgGgQH5Mahr1Yg,1023
16
+ python_discovery-1.2.1.dist-info/RECORD,,