Coverage for cuda/pathfinder/_headers/supported_nvidia_headers.py: 100.00%

24 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-03 02:41 +0000

1# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 

2# SPDX-License-Identifier: Apache-2.0 

3 

4"""Legacy table exports derived from the authored header descriptor catalog. 

5 

6The canonical data entry point is :mod:`header_descriptor_catalog`. This module 

7keeps historical constant names for backward compatibility by deriving them 

8from the catalog. 

9""" 

10 

11from __future__ import annotations 

12 

13from typing import Final 

14 

15from cuda.pathfinder._headers.header_descriptor import system_install_dir_patterns 

16from cuda.pathfinder._headers.header_descriptor_catalog import HEADER_DESCRIPTOR_CATALOG 

17from cuda.pathfinder._utils.platform_aware import IS_WINDOWS 

18 

19_CTK_DESCRIPTORS = tuple(desc for desc in HEADER_DESCRIPTOR_CATALOG if desc.packaged_with == "ctk") 

20_NON_CTK_DESCRIPTORS = tuple(desc for desc in HEADER_DESCRIPTOR_CATALOG if desc.packaged_with == "other") 

21 

22SUPPORTED_HEADERS_CTK_COMMON: Final[dict[str, str]] = { 

23 desc.name: desc.header_basename 

24 for desc in _CTK_DESCRIPTORS 

25 if desc.available_on_linux and desc.available_on_windows 

26} 

27SUPPORTED_HEADERS_CTK_LINUX_ONLY: Final[dict[str, str]] = { 

28 desc.name: desc.header_basename 

29 for desc in _CTK_DESCRIPTORS 

30 if desc.available_on_linux and not desc.available_on_windows 

31} 

32SUPPORTED_HEADERS_CTK_WINDOWS_ONLY: Final[dict[str, str]] = { 

33 desc.name: desc.header_basename 

34 for desc in _CTK_DESCRIPTORS 

35 if desc.available_on_windows and not desc.available_on_linux 

36} 

37 

38SUPPORTED_HEADERS_CTK_LINUX = SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_LINUX_ONLY 

39SUPPORTED_HEADERS_CTK_WINDOWS = SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_WINDOWS_ONLY 

40SUPPORTED_HEADERS_CTK_ALL = ( 

41 SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_LINUX_ONLY | SUPPORTED_HEADERS_CTK_WINDOWS_ONLY 

42) 

43SUPPORTED_HEADERS_CTK: Final[dict[str, str]] = ( 

44 SUPPORTED_HEADERS_CTK_WINDOWS if IS_WINDOWS else SUPPORTED_HEADERS_CTK_LINUX 

45) 

46 

47SUPPORTED_SITE_PACKAGE_HEADER_DIRS_CTK: Final[dict[str, tuple[str, ...]]] = { 

48 desc.name: desc.site_packages_dirs for desc in _CTK_DESCRIPTORS if desc.site_packages_dirs 

49} 

50 

51SUPPORTED_HEADERS_NON_CTK_COMMON: Final[dict[str, str]] = { 

52 desc.name: desc.header_basename 

53 for desc in _NON_CTK_DESCRIPTORS 

54 if desc.available_on_linux and desc.available_on_windows 

55} 

56SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY: Final[dict[str, str]] = { 

57 desc.name: desc.header_basename 

58 for desc in _NON_CTK_DESCRIPTORS 

59 if desc.available_on_linux and not desc.available_on_windows 

60} 

61SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY: Final[dict[str, str]] = { 

62 desc.name: desc.header_basename 

63 for desc in _NON_CTK_DESCRIPTORS 

64 if desc.available_on_windows and not desc.available_on_linux 

65} 

66 

67SUPPORTED_HEADERS_NON_CTK_LINUX = SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY 

68SUPPORTED_HEADERS_NON_CTK_WINDOWS = SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY 

69SUPPORTED_HEADERS_NON_CTK_ALL = ( 

70 SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY | SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY 

71) 

72SUPPORTED_HEADERS_NON_CTK: Final[dict[str, str]] = ( 

73 SUPPORTED_HEADERS_NON_CTK_WINDOWS if IS_WINDOWS else SUPPORTED_HEADERS_NON_CTK_LINUX 

74) 

75 

76SUPPORTED_SITE_PACKAGE_HEADER_DIRS_NON_CTK: Final[dict[str, tuple[str, ...]]] = { 

77 desc.name: desc.site_packages_dirs for desc in _NON_CTK_DESCRIPTORS if desc.site_packages_dirs 

78} 

79 

80SUPPORTED_INSTALL_DIRS_NON_CTK: Final[dict[str, tuple[str, ...]]] = { 

81 desc.name: patterns for desc in _NON_CTK_DESCRIPTORS if (patterns := system_install_dir_patterns(desc)) 

82}