157 lines
4.5 KiB
Python
157 lines
4.5 KiB
Python
|
# 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": "ld.bfd",
|
||
|
"version": "10.2.1",
|
||
|
"commands": "cc",
|
||
|
},
|
||
|
"cython": {
|
||
|
"name": "cython",
|
||
|
"linker": "cython",
|
||
|
"version": "3.0.3",
|
||
|
"commands": "cython",
|
||
|
},
|
||
|
"c++": {
|
||
|
"name": "gcc",
|
||
|
"linker": "ld.bfd",
|
||
|
"version": "10.2.1",
|
||
|
"commands": "c++",
|
||
|
},
|
||
|
},
|
||
|
"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": "openblas64",
|
||
|
"found": bool("True".lower().replace("false", "")),
|
||
|
"version": "0.3.23.dev",
|
||
|
"detection method": "pkgconfig",
|
||
|
"include directory": r"/usr/local/include",
|
||
|
"lib directory": r"/usr/local/lib",
|
||
|
"openblas configuration": "USE_64BITINT=1 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= HASWELL MAX_THREADS=2",
|
||
|
"pc file directory": r"/usr/local/lib/pkgconfig",
|
||
|
},
|
||
|
"lapack": {
|
||
|
"name": "dep140250237405136",
|
||
|
"found": bool("True".lower().replace("false", "")),
|
||
|
"version": "1.26.1",
|
||
|
"detection method": "internal",
|
||
|
"include directory": r"unknown",
|
||
|
"lib directory": r"unknown",
|
||
|
"openblas configuration": "unknown",
|
||
|
"pc file directory": r"unknown",
|
||
|
},
|
||
|
},
|
||
|
"Python Information": {
|
||
|
"path": r"/opt/python/cp311-cp311/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])}"
|
||
|
)
|