Registry / data / scipy-openblas32

scipy-openblas32

JSON →
library0.3.33.0.0pypypi✓ verified 84d ago

scipy-openblas32 provides OpenBLAS, a highly optimized BLAS library, packaged as Python wheels. Its primary purpose is to serve as a build and runtime dependency in CI and local development for NumPy and SciPy, and to be vendored into their official wheels. It bundles all necessary gfortran support libraries, making the wheels self-contained. The current version is 0.3.31.188.0, and it maintains an active release cadence driven by the needs of SciPy and NumPy.

pip install scipy-openblas32
INSTALL
IMPORT
SIG · SCIPY-OPENBLAS32
S
scipy-openblas32
datapythonv0.3.33.0.0
Install
1.8s avg
Import
128ms
Disk
44MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.3.33.0.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.130s · 46.7MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 1.8s · import 0.126s · 46MB
44MB installed
● package 44MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

get_include_dir
import scipy_openblas32 as so32; so32.get_include_dir()
This library is primarily for build-time integration by other scientific Python packages (e.g., SciPy, NumPy) and not intended for direct runtime imports by end-user applications. Its Python API exposes functions for build systems to locate the bundled OpenBLAS components.
get_lib_dir
import scipy_openblas32 as so32; so32.get_lib_dir()
Primarily for build-time use by packages like SciPy/NumPy.
get_library
import scipy_openblas32 as so32; so32.get_library()
Primarily for build-time use by packages like SciPy/NumPy.
get_pkg_config
import scipy_openblas32 as so32; so32.get_pkg_config()
Primarily for build-time use by packages like SciPy/NumPy to generate pkg-config files for Meson or CMake. This is not for direct use in typical application code.

This quickstart demonstrates how build systems (e.g., for SciPy or NumPy) would query `scipy-openblas32` to find the necessary OpenBLAS components (include paths, library paths, and pkg-config information) for linking during compilation. It is not intended for direct use in typical end-user Python applications, as `scipy-openblas32` is a low-level dependency provider.

import scipy_openblas32 as so32 # This library is typically used by build systems of other packages # to locate the bundled OpenBLAS libraries for compilation. # For example, to generate a pkg-config file for a build system: # (This code snippet demonstrates the *intended interaction* for other libraries) # In a real build process, the output would be redirected to a file, e.g., scipy-openblas32.pc print("OpenBLAS include directory:", so32.get_include_dir()) print("OpenBLAS library directory:", so32.get_lib_dir()) print("OpenBLAS pkg-config info:\n", so32.get_pkg_config())
Debug
Known issues
breakingDo NOT add a direct runtime dependency on `scipy-openblas32` if your project is not NumPy or SciPy. This is explicitly unsupported and highly likely to lead to breakage or symbol conflicts due to internal changes in this repository or due to NumPy/SciPy starting to depend on a different version. This package is solely for use by SciPy and NumPy.
fix
Avoid adding `scipy-openblas32` as a direct runtime dependency unless you are a maintainer of NumPy or SciPy. Use environment-specific solutions (e.g., Conda) or vendor OpenBLAS directly if you require a specific BLAS implementation for your own project.
affects: All versions
gotchaThe `scipy-openblas32` package provides the LP64 ABI (32-bit integer size for array indexing in BLAS functions). This is distinct from `scipy-openblas64`, which provides the ILP64 ABI (64-bit integer size). Both packages can be installed on 64-bit systems; the '32' or '64' refers to the integer size used by the BLAS library internally, not the system architecture. SciPy currently *always requires LP64* but can optionally be built with ILP64 support as well.
fix
Understand that '32' refers to LP64 ABI, not system architecture. If building SciPy/NumPy from source with ILP64 support, you may also need `scipy-openblas64` alongside `scipy-openblas32` for dual-ABI support. Refer to SciPy's BLAS/LAPACK documentation for detailed build instructions.
affects: All versions
gotchaThere is no strong guarantee of backwards compatibility for the symbol names or the small Python API (`get_include_dir`, etc.). Projects using `scipy-openblas32` as a build dependency should pin exact versions (e.g., `==`) in their CI/lock files to prevent unexpected breakage.
fix
Strictly pin the version of `scipy-openblas32` in your build environment to ensure stability.
affects: All versions
gotchaOn Windows, dynamic linking of OpenBLAS DLLs can be problematic due to the lack of RPATH support. If not vendored directly into a wheel (as SciPy does), you may need to manually manage the DLL search path using `os.add_dll_directory` or tools like `delvewheel` during custom builds.
fix
Ensure OpenBLAS DLLs are correctly located by the system or explicitly add their directory to the DLL search path at runtime or build time. When building SciPy/NumPy from source on Windows, consult their specific build documentation.
affects: All versions, particularly when building from source on Windows
gotchaMixing OpenBLAS builds (e.g., vendored `pthreads`-based OpenBLAS in wheels with system-installed `OpenMP`-based OpenBLAS) can lead to 'oversubscription' issues, where multiple parallelization mechanisms conflict, potentially degrading performance or causing crashes.
fix
Be mindful of the OpenMP/pthreads configuration of BLAS libraries in your environment. Where possible, standardize on one parallelization backend or ensure that only compatible BLAS implementations are used. If custom building, configure OpenBLAS with the desired threading model.
affects: All versions
deprecatedThe SciPy documentation indicates that the requirement for SciPy to *always* require the LP64 ABI (32-bit integer) is "very likely changing for the 1.18.0 release." This could imply a shift in default ABI preference for SciPy's internal builds, potentially affecting how `scipy-openblas32` is prioritized or used in the future if ILP64 becomes more central.
fix
Monitor SciPy's release notes for version 1.18.0 and beyond to understand changes in its default BLAS/LAPACK ABI requirements and adjust build strategies accordingly.
affects: SciPy versions >= 1.18.0 (future impact)
Upgrade
Version history
0.3.33.0.0latest on PyPI · released May 4, 2026
Audit
Dependencies
numpyrequiredPrimary consumer as a build/runtime dependency for optimized linear algebra routines.
scipyrequiredPrimary consumer as a build/runtime dependency for optimized linear algebra routines.
Agent activity
12 hits · last 30 days
node
10
OpenAI (training)
2
Resources
scipy-openblas32 — pip install scipy-openblas32 · libregistry