| from enum import Enum
|
| from types import ModuleType
|
| from typing import Final, Literal as L, TypedDict, overload, type_check_only
|
| from typing_extensions import NotRequired
|
|
|
| _CompilerConfigDictValue = TypedDict(
|
| "_CompilerConfigDictValue",
|
| {
|
| "name": str,
|
| "linker": str,
|
| "version": str,
|
| "commands": str,
|
| "args": str,
|
| "linker args": str,
|
| },
|
| )
|
| _CompilerConfigDict = TypedDict(
|
| "_CompilerConfigDict",
|
| {
|
| "c": _CompilerConfigDictValue,
|
| "cython": _CompilerConfigDictValue,
|
| "c++": _CompilerConfigDictValue,
|
| },
|
| )
|
| _MachineInformationDict = TypedDict(
|
| "_MachineInformationDict",
|
| {
|
| "host":_MachineInformationDictValue,
|
| "build": _MachineInformationDictValue,
|
| "cross-compiled": NotRequired[L[True]],
|
| },
|
| )
|
|
|
| @type_check_only
|
| class _MachineInformationDictValue(TypedDict):
|
| cpu: str
|
| family: str
|
| endian: L["little", "big"]
|
| system: str
|
|
|
| _BuildDependenciesDictValue = TypedDict(
|
| "_BuildDependenciesDictValue",
|
| {
|
| "name": str,
|
| "found": NotRequired[L[True]],
|
| "version": str,
|
| "include directory": str,
|
| "lib directory": str,
|
| "openblas configuration": str,
|
| "pc file directory": str,
|
| },
|
| )
|
|
|
| class _BuildDependenciesDict(TypedDict):
|
| blas: _BuildDependenciesDictValue
|
| lapack: _BuildDependenciesDictValue
|
|
|
| class _PythonInformationDict(TypedDict):
|
| path: str
|
| version: str
|
|
|
| _SIMDExtensionsDict = TypedDict(
|
| "_SIMDExtensionsDict",
|
| {
|
| "baseline": list[str],
|
| "found": list[str],
|
| "not found": list[str],
|
| },
|
| )
|
|
|
| _ConfigDict = TypedDict(
|
| "_ConfigDict",
|
| {
|
| "Compilers": _CompilerConfigDict,
|
| "Machine Information": _MachineInformationDict,
|
| "Build Dependencies": _BuildDependenciesDict,
|
| "Python Information": _PythonInformationDict,
|
| "SIMD Extensions": _SIMDExtensionsDict,
|
| },
|
| )
|
|
|
|
|
|
|
| __all__ = ["show_config"]
|
|
|
| CONFIG: Final[_ConfigDict] = ...
|
|
|
| class DisplayModes(Enum):
|
| stdout = "stdout"
|
| dicts = "dicts"
|
|
|
| def _check_pyyaml() -> ModuleType: ...
|
|
|
| @overload
|
| def show(mode: L["stdout"] = "stdout") -> None: ...
|
| @overload
|
| def show(mode: L["dicts"]) -> _ConfigDict: ...
|
|
|
| @overload
|
| def show_config(mode: L["stdout"] = "stdout") -> None: ...
|
| @overload
|
| def show_config(mode: L["dicts"]) -> _ConfigDict: ...
|
|
|