--- id: oldest-supported-numpy version: "2023.12.21" license: BSD license_treatment: permissive maintenance: dormant --- # oldest-supported-numpy — Meta-package that provides the oldest NumPy that supports a given Python version and platform. If wheels for the platform became available on PyPI only for a more recent NumPy version, then that NumPy version is specified. License: permissive · Maintenance: dormant · Downloads: 13.5M/mo ## What it is and what it does oldest-supported-numpy is a meta-package that solves a specific build-time problem: when you compile C extensions against NumPy, binaries built with older NumPy versions remain compatible with newer NumPy versions, but not vice versa. This package automatically selects and provides the oldest NumPy version that works with your target Python version and platform, eliminating the need to manually maintain a long list of version pins in your pyproject.toml. You use it by adding it to your build-system requires list instead of manually pinning NumPy versions for each Python version. The package contains a static mapping of Python versions to the oldest compatible NumPy release (or the oldest with prebuilt wheels for your platform), and pip installs that NumPy version into your build environment automatically. This is purely a build-time convenience; your package can still require a newer NumPy at runtime if needed. Use it for: - Building a NumPy-based C extension without manually maintaining version pins for each Python version. - Ensuring compiled wheels remain forward-compatible with newer NumPy versions in user environments. - Simplifying pyproject.toml for packages that depend on NumPy's C API but don't require recent NumPy features. - Updating build requirements automatically as new Python versions are released, without editing pyproject.toml. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides the oldest version of NumPy compatible with a given Python version and platform, for use as a build-time dependency to ensure ABI compatibility across compiled extensions. Yes, if you maintain a package with NumPy C extensions and want to avoid manual version pinning in pyproject.toml. The dormant maintenance status is not a concern because the package's role is static—it maintains a mapping that only needs updates when NumPy or Python versions change. Check that the pinned NumPy versions still match your platform and Python support before adopting it. ## Install pip install oldest-supported-numpy uv add oldest-supported-numpy poetry add oldest-supported-numpy ## Installing oldest-supported-numpy Before you install: Low friction; single runtime dependency (numpy). Dormant maintenance status (last release 2023-12-21, no commits since 2024-09-15), but the package's role is narrow and stable—it maintains a static mapping of Python versions to NumPy versions rather than active feature development. License in practice: BSD license is permissive; no restrictions on use or redistribution in your own projects. Quickstart: # In pyproject.toml: [build-system] requires = ["wheel", "setuptools", "oldest-supported-numpy"] # oldest-supported-numpy automatically installs the appropriate NumPy version # for your Python version and platform during build. Intended only for build-time use in pyproject.toml; not a runtime package for application code. Requires Python >= 3.7. Verify before relying: - Whether the NumPy version pinnings remain accurate for current Python releases beyond 3.7. - Whether dormant status (no commits since 2024-09-15) will delay updates if NumPy or Python compatibility issues arise. ## Package facts - License: BSD (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 13.5M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags numpy abi compatibility build, oldest numpy version python, build dependency numpy pinning, numpy binary compatibility, pyproject.toml numpy requirement, build-time-only, abi-compatibility [View on SkillFed](https://skillfed.io/packages/oldest-supported-numpy) · [View on PyPI](https://pypi.org/project/oldest-supported-numpy/)