Skip to content

boost-math 0.3.0 (wasm + Python wheels, unofficial fork build)

Choose a tag to compare

@NAThompson NAThompson released this 03 Nov 05:06
· 0 commits to develop since this release

Unofficial fork build. Boost.Math as WebAssembly (ES module + .d.ts) and as Python wheels (abi3), both built from commit 3406970 on the wasm-h5web branch of this personal fork, which is boostorg/math develop plus the WebAssembly bindings. Not an official Boost release; nothing is published to npm or PyPI. The wheel metadata's URLs point at boostorg/math and boost.org.

New since 0.2.0:

  • multivariate_newton and multivariate_halley (Cuyt's multivariate Halley), from boostorg#1620. In JavaScript, f(x) returns [F, J] or [F, J, d2] with d2(v) = F''(x)[v, v]; the result is {root, iterations}. In Python they are boost.math.roots.multivariate_newton / multivariate_halley.
  • Everything else on develop since 0.2.0.

WebAssembly

npm install https://github.com/NAThompson/math/releases/download/boost-math-v0.3.0/boost-math-wasm-0.3.0.tgz

sha256 of boost-math-wasm-0.3.0.tgz: c046557c62f2ea4a4129022b22890212d2979e35ad29d232114451f429f8e9a1

Python (CPython 3.12+). The installer picks the right wheel for your platform from this release:

pip:

pip install boost-math --find-links https://github.com/NAThompson/math/releases/expanded_assets/boost-math-v0.3.0

uv:

uv pip install boost-math --find-links https://github.com/NAThompson/math/releases/expanded_assets/boost-math-v0.3.0

In a uv project's pyproject.toml (then uv sync; uv.lock records this release as the source):

[project]
dependencies = ["boost-math>=0.3"]

[tool.uv]
find-links = ["https://github.com/NAThompson/math/releases/expanded_assets/boost-math-v0.3.0"]

In a requirements.txt for pip:

--find-links https://github.com/NAThompson/math/releases/expanded_assets/boost-math-v0.3.0
boost-math

Wheels: manylinux x86_64 and aarch64, macOS arm64 and x86_64, Windows x86_64; SHA-256s in SHA256SUMS. There is no sdist: on other platforms (e.g. musllinux) the install fails. uv lists GitHub's "Source code" archive as a source distribution, but it cannot be built, because the Python package lives in nanobind/.