File size: 5,132 Bytes
6370773 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# This file is generated by numpy's build process
# It contains system_info results at the time of building this package.
from enum import Enum
from numpy._core._multiarray_umath import (
__cpu_features__,
__cpu_baseline__,
__cpu_dispatch__,
)
__all__ = ["show"]
_built_with_meson = True
class DisplayModes(Enum):
stdout = "stdout"
dicts = "dicts"
def _cleanup(d):
"""
Removes empty values in a `dict` recursively
This ensures we remove values that Meson could not provide to CONFIG
"""
if isinstance(d, dict):
return {k: _cleanup(v) for k, v in d.items() if v and _cleanup(v)}
else:
return d
CONFIG = _cleanup(
{
"Compilers": {
"c": {
"name": "gcc",
"linker": r"ld.bfd",
"version": "10.2.1",
"commands": r"cc",
"args": r"",
"linker args": r"",
},
"cython": {
"name": "cython",
"linker": r"cython",
"version": "3.0.11",
"commands": r"cython",
"args": r"",
"linker args": r"",
},
"c++": {
"name": "gcc",
"linker": r"ld.bfd",
"version": "10.2.1",
"commands": r"c++",
"args": r"",
"linker args": r"",
},
},
"Machine Information": {
"host": {
"cpu": "x86_64",
"family": "x86_64",
"endian": "little",
"system": "linux",
},
"build": {
"cpu": "x86_64",
"family": "x86_64",
"endian": "little",
"system": "linux",
},
"cross-compiled": bool("False".lower().replace("false", "")),
},
"Build Dependencies": {
"blas": {
"name": "scipy-openblas",
"found": bool("True".lower().replace("false", "")),
"version": "0.3.27",
"detection method": "pkgconfig",
"include directory": r"/opt/_internal/cpython-3.11.10/lib/python3.11/site-packages/scipy_openblas64/include",
"lib directory": r"/opt/_internal/cpython-3.11.10/lib/python3.11/site-packages/scipy_openblas64/lib",
"openblas configuration": r"OpenBLAS 0.3.27 USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell MAX_THREADS=64",
"pc file directory": r"/project/.openblas",
},
"lapack": {
"name": "scipy-openblas",
"found": bool("True".lower().replace("false", "")),
"version": "0.3.27",
"detection method": "pkgconfig",
"include directory": r"/opt/_internal/cpython-3.11.10/lib/python3.11/site-packages/scipy_openblas64/include",
"lib directory": r"/opt/_internal/cpython-3.11.10/lib/python3.11/site-packages/scipy_openblas64/lib",
"openblas configuration": r"OpenBLAS 0.3.27 USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell MAX_THREADS=64",
"pc file directory": r"/project/.openblas",
},
},
"Python Information": {
"path": r"/tmp/build-env-dv3lw3nl/bin/python",
"version": "3.11",
},
"SIMD Extensions": {
"baseline": __cpu_baseline__,
"found": [
feature for feature in __cpu_dispatch__ if __cpu_features__[feature]
],
"not found": [
feature for feature in __cpu_dispatch__ if not __cpu_features__[feature]
],
},
}
)
def _check_pyyaml():
import yaml
return yaml
def show(mode=DisplayModes.stdout.value):
"""
Show libraries and system information on which NumPy was built
and is being used
Parameters
----------
mode : {`'stdout'`, `'dicts'`}, optional.
Indicates how to display the config information.
`'stdout'` prints to console, `'dicts'` returns a dictionary
of the configuration.
Returns
-------
out : {`dict`, `None`}
If mode is `'dicts'`, a dict is returned, else None
See Also
--------
get_include : Returns the directory containing NumPy C
header files.
Notes
-----
1. The `'stdout'` mode will give more readable
output if ``pyyaml`` is installed
"""
if mode == DisplayModes.stdout.value:
try: # Non-standard library, check import
yaml = _check_pyyaml()
print(yaml.dump(CONFIG))
except ModuleNotFoundError:
import warnings
import json
warnings.warn("Install `pyyaml` for better output", stacklevel=1)
print(json.dumps(CONFIG, indent=2))
elif mode == DisplayModes.dicts.value:
return CONFIG
else:
raise AttributeError(
f"Invalid `mode`, use one of: {', '.join([e.value for e in DisplayModes])}"
)
|