Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
numpy / __config__.py
Size: Mime:
# 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_config"]
_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": "clang",
                "linker": r"ld.lld",
                "version": "18.0.3",
                "commands": r"/home/appveyor/ndk/r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang",
                "args": r"-mfloat-abi=softfp, -mfpu=vfpv3-d16, -fno-strict-overflow, -Wsign-compare, -Wunreachable-code, -DNDEBUG, -g, -O3, -Wall, -D__BIONIC_NO_PAGE_SIZE_MACRO, -march=armv7-a, -mthumb, -I/home/appveyor/projects/python-build/android/install/android/armeabi-v7a/python-3.12.9/include, -I/home/appveyor/ndk/r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include, -D__BIONIC_NO_PAGE_SIZE_MACRO, -march=armv7-a, -mthumb, -I/home/appveyor/projects/python-build/android/install/android/armeabi-v7a/python-3.12.9/include, -I/home/appveyor/ndk/r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
                "linker args": r"-Wl,--build-id=sha1, -Wl,--no-rosegment, -Wl,-z,max-page-size=16384, -Wl,--no-undefined, -lm, -L/home/appveyor/projects/python-build/android/install/android/armeabi-v7a/python-3.12.9/lib, -L/home/appveyor/ndk/r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/24, -march=armv7-a, -Wl,--fix-cortex-a8, -Wl,--build-id=sha1, -Wl,--no-rosegment, -Wl,-z,max-page-size=16384, -Wl,--no-undefined, -lm, -L/home/appveyor/projects/python-build/android/install/android/armeabi-v7a/python-3.12.9/lib, -L/home/appveyor/ndk/r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/24, -L/home/appveyor/projects/python-build/android/install/android/armeabi-v7a/python-3.12.9/lib",
            },
            "cython": {
                "name": "cython",
                "linker": r"cython",
                "version": "3.0.12",
                "commands": r"cython",
                "args": r"",
                "linker args": r"",
            },
            "c++": {
                "name": "clang",
                "linker": r"ld.lld",
                "version": "18.0.3",
                "commands": r"/home/appveyor/ndk/r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++",
                "args": r"-I., -I./Include",
                "linker args": r"-Wl,--build-id=sha1, -Wl,--no-rosegment, -Wl,-z,max-page-size=16384, -Wl,--no-undefined, -lm, -L/home/appveyor/projects/python-build/android/install/android/armeabi-v7a/python-3.12.9/lib, -L/home/appveyor/ndk/r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/24, -march=armv7-a, -Wl,--fix-cortex-a8, -Wl,--build-id=sha1, -Wl,--no-rosegment, -Wl,-z,max-page-size=16384, -Wl,--no-undefined, -lm, -L/home/appveyor/projects/python-build/android/install/android/armeabi-v7a/python-3.12.9/lib, -L/home/appveyor/ndk/r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/24, -L/home/appveyor/projects/python-build/android/install/android/armeabi-v7a/python-3.12.9/lib",
            },
        },
        "Machine Information": {
            "host": {
                "cpu": "armv7",
                "family": "arm",
                "endian": "little",
                "system": "android",
            },
            "build": {
                "cpu": "arm",
                "family": "arm",
                "endian": "little",
                "system": "android",
            },
            "cross-compiled": bool("True".lower().replace("false", "")),
        },
        "Build Dependencies": {
            "blas": {
                "name": "none",
                "found": bool("False".lower().replace("false", "")),
                "version": "",
                "detection method": "",
                "include directory": r"",
                "lib directory": r"",
                "openblas configuration": r"",
                "pc file directory": r"",
            },
            "lapack": {
                "name": "none",
                "found": bool("False".lower().replace("false", "")),
                "version": "",
                "detection method": "",
                "include directory": r"",
                "lib directory": r"",
                "openblas configuration": r"",
                "pc file directory": r"",
            },
        },
        "Python Information": {
            "path": r"/home/appveyor/projects/mobile-forge/build/cp312/numpy/2.2.2/venv3.12-android_24_armeabi_v7a/cross/bin/python3.12",
            "version": "3.12",
        },
        "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])}"
        )


def show_config(mode=DisplayModes.stdout.value):
    return show(mode)


show_config.__doc__ = show.__doc__
show_config.__module__ = "numpy"