Skip to content

Latest commit

 

History

History
71 lines (49 loc) · 1.56 KB

File metadata and controls

71 lines (49 loc) · 1.56 KB

easySBA Python bindings

This repo provides a pybind11 wrapper around the easySBA C code.

Python usage guide: docs/USAGE.md.

Source layout

Core C/C++ sources and the original license live in src/.

Build requirements

  • Python 3.11+
  • C/C++ toolchain
  • BLAS/LAPACK development libraries
  • Python packages: numpy, pybind11, setuptools, wheel

On Ubuntu/Debian:

sudo apt-get update
sudo apt-get install -y build-essential libblas-dev liblapack-dev liblapacke-dev gfortran

Quick start (binary wheels)

The easiest way to install is to download a prebuilt wheel from the GitHub releases page and install it with uv:

https://github.com/OpenPTV/easySBA-python/releases/tag/v0.0.2

uv pip install /path/to/easysba-0.0.2-<pyver>-<platform>.whl

Local uv venv

uv venv .venv
source .venv/bin/activate
uv pip install -v .

Build wheels with cibuildwheel

source .venv/bin/activate
uv pip install cibuildwheel
python -m cibuildwheel --output-dir wheelhouse

This produces manylinux wheels in wheelhouse/ (cp311-cp314, cp314t).

Install from a local wheel

If you have a prebuilt wheel (for example, in wheelhouse/), install it with:

uv pip install wheelhouse/easysba-0.1.0-<pyver>-<platform>.whl

Notes:

  • Linux builds use OpenBLAS via the before-all hook in pyproject.toml.
  • If your BLAS/LAPACK libraries have different names, set EASYSBA_LAPACK_LIBS.