Skip to content

Commit 45dc948

Browse files
committed
24 tests, installed from binary wheel
1 parent 00070a4 commit 45dc948

6 files changed

Lines changed: 753 additions & 8 deletions

File tree

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ sudo apt-get update
2525
sudo apt-get install -y build-essential libblas-dev liblapack-dev liblapacke-dev gfortran
2626
```
2727

28+
Quick start (binary wheels)
29+
---------------------------
30+
31+
The easiest way to install is to download a prebuilt wheel from the GitHub releases page and install it with uv:
32+
33+
https://github.com/OpenPTV/easySBA-python/releases/tag/v0.0.2
34+
35+
```
36+
uv pip install /path/to/easysba-0.0.2-<pyver>-<platform>.whl
37+
```
38+
2839
Local uv venv
2940
-------------
3041

@@ -45,6 +56,15 @@ python -m cibuildwheel --output-dir wheelhouse
4556

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

59+
Install from a local wheel
60+
--------------------------
61+
62+
If you have a prebuilt wheel (for example, in `wheelhouse/`), install it with:
63+
64+
```
65+
uv pip install wheelhouse/easysba-0.1.0-<pyver>-<platform>.whl
66+
```
67+
4868
Notes:
4969

5070
- Linux builds use OpenBLAS via the `before-all` hook in [pyproject.toml](pyproject.toml).

easysba/demo_notebook.py

Whitespace-only changes.

pyproject.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ version = "0.1.0"
88
description = "Python bindings for easySBA"
99
readme = "README.md"
1010
requires-python = ">=3.11"
11-
dependencies = ["numpy>=1.20"]
11+
dependencies = [
12+
"marimo>=0.19.11",
13+
"numpy>=1.20",
14+
"pyzmq>=27.1.0",
15+
]
1216

1317
[tool.cibuildwheel]
1418
build-frontend = "build"

tests/test_sba_steps.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,6 @@ def test_quaternion_zero_norm():
216216
easysba.easy_sba(image_uv, visibility_mask, world_xyz, camera_params, intrinsics_fixed=5)
217217

218218

219-
@pytest.mark.skipif(os.environ.get("EASYSBA_RUN_SOLVER") != "1", reason="Set EASYSBA_RUN_SOLVER=1 to exercise solver")
220219
@pytest.mark.parametrize("cam_param_size,intrinsics_fixed,distortion_fixed", [
221220
(7, -1, -1),
222221
(12, 5, -1),

tests/test_smoke.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ def test_easy_sba_imports(self):
2626
self.assertTrue(hasattr(easysba, "easy_sba"))
2727

2828
def test_easy_sba_runs(self):
29-
if os.environ.get("EASYSBA_RUN_SOLVER") != "1":
30-
self.skipTest("Set EASYSBA_RUN_SOLVER=1 to exercise the solver.")
31-
3229
easysba = _import_easysba()
3330

3431
try:
@@ -67,9 +64,6 @@ def test_easy_sba_runs(self):
6764
self.assertIn("final_error", info)
6865

6966
def test_easy_sba_extrinsics_only(self):
70-
if os.environ.get("EASYSBA_RUN_SOLVER") != "1":
71-
self.skipTest("Set EASYSBA_RUN_SOLVER=1 to exercise the solver.")
72-
7367
easysba = _import_easysba()
7468

7569
try:

0 commit comments

Comments
 (0)