From 8940aaa35c6ffb209722af0941f2d5b5a73a0220 Mon Sep 17 00:00:00 2001 From: lachlangrose Date: Sat, 31 Oct 2026 12:42:09 +1030 Subject: [PATCH] feat: allow loop-interpolation 0.2 and add the native extra LoopStructural required loop-common<0.1.0 and loop-interpolation<0.1.0, but this repository releases loop-common 0.1.0 and loop-interpolation 0.2.0. Only loop-interpolation 0.2.0 has solver='native' (the Rust core), so pip could not install the native solver next to LoopStructural. - Require loop-common>=0.1.0,<0.2.0 and loop-interpolation>=0.2.0,<0.3.0. - Add the extra loopstructural[native] (loop-interpolation[native]). --- pyproject.toml | 6 ++++-- uv.lock | 10 +++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8e5a7b76..dedaffd9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,8 +33,8 @@ classifiers = [ 'Programming Language :: Python :: 3.12', ] dependencies = [ - "loop-common>=0.0.1,<0.1.0", - "loop-interpolation>=0.0.1,<0.1.0", + "loop-common>=0.1.0,<0.2.0", + "loop-interpolation>=0.2.0,<0.3.0", "numpy>=1.18", "pandas", "scipy", @@ -48,6 +48,8 @@ visualisation = ["matplotlib", "pyvista", "loopstructuralvisualisation>=0.1.14"] export = ["geoh5py", "pyevtk", "dill"] jupyter = ["pyvista[all]"] inequalities = ["loopsolver"] +# the Rust solver: solver='native' +native = ["loop-interpolation[native]"] tests = ['pytest'] dev = ['ruff'] docs = [ diff --git a/uv.lock b/uv.lock index b1f2a937..bb187ed6 100644 --- a/uv.lock +++ b/uv.lock @@ -3205,7 +3205,7 @@ provides-extras = ["tests"] [[package]] name = "loop-interpolation" -version = "0.1.0" +version = "0.2.0" source = { editable = "packages/loop_interpolation" } dependencies = [ { name = "loop-common" }, @@ -3288,7 +3288,7 @@ wheels = [ [[package]] name = "loopstructural" -version = "1.9.0" +version = "1.10.0" source = { editable = "." } dependencies = [ { name = "loop-common" }, @@ -3369,6 +3369,9 @@ jupyter = [ { name = "pyvista", version = "0.46.5", source = { registry = "https://pypi.org/simple" }, extra = ["all"], marker = "python_full_version < '3.10'" }, { name = "pyvista", version = "0.48.4", source = { registry = "https://pypi.org/simple" }, extra = ["all"], marker = "python_full_version >= '3.10'" }, ] +native = [ + { name = "loop-interpolation", extra = ["native"] }, +] tests = [ { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pytest", version = "9.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, @@ -3390,6 +3393,7 @@ requires-dist = [ { name = "geopandas", marker = "extra == 'docs'" }, { name = "loop-common", editable = "packages/loop_common" }, { name = "loop-interpolation", editable = "packages/loop_interpolation" }, + { name = "loop-interpolation", extras = ["native"], marker = "extra == 'native'", editable = "packages/loop_interpolation" }, { name = "loopsolver", marker = "extra == 'inequalities'" }, { name = "loopstructural", extras = ["inequalities"], marker = "extra == 'all'", editable = "." }, { name = "loopstructuralvisualisation", marker = "extra == 'visualisation'", editable = "packages/loopstructural_visualisation" }, @@ -3419,7 +3423,7 @@ requires-dist = [ { name = "sphinxcontrib-bibtex", marker = "extra == 'docs'" }, { name = "tqdm", marker = "extra == 'all'" }, ] -provides-extras = ["all", "visualisation", "export", "jupyter", "inequalities", "tests", "dev", "docs"] +provides-extras = ["all", "visualisation", "export", "jupyter", "inequalities", "native", "tests", "dev", "docs"] [[package]] name = "loopstructuralvisualisation"