From e1fa80f76ae2e328b9b9e3d5a71e7c36bbdeae81 Mon Sep 17 00:00:00 2001 From: asp <128797936+ASP-SuperExplorer@users.noreply.github.com> Date: Fri, 11 Sep 2026 23:40:20 +0800 Subject: [PATCH 1/2] Pin casadi below 3.8 for pip installs --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index f283b4c47..0796c07d0 100644 --- a/setup.py +++ b/setup.py @@ -31,7 +31,7 @@ "multimethod>=2.1,<3.0", "nlopt>=2.9.0,<3.0", "runtype", - "casadi", + "casadi<3.8", "trame", "trame-vtk", "trame-components", From f6f3f02d346276d9455d58b42501b422d8348615 Mon Sep 17 00:00:00 2001 From: asp <128797936+ASP-SuperExplorer@users.noreply.github.com> Date: Fri, 11 Sep 2026 23:40:35 +0800 Subject: [PATCH 2/2] Add package metadata dependency test --- tests/test_package_metadata.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/test_package_metadata.py diff --git a/tests/test_package_metadata.py b/tests/test_package_metadata.py new file mode 100644 index 000000000..af9c8aaf6 --- /dev/null +++ b/tests/test_package_metadata.py @@ -0,0 +1,24 @@ +from contextlib import chdir +from pathlib import Path +from runpy import run_path + +import setuptools + + +def test_pip_install_requires_excludes_crashing_casadi_nlopt_pair(monkeypatch): + root = Path(__file__).parents[1] + captured = {} + + def fake_setup(**kwargs): + captured.update(kwargs) + + monkeypatch.delenv("APPVEYOR", raising=False) + monkeypatch.delenv("CONDA_PREFIX", raising=False) + monkeypatch.delenv("CONDA_PY", raising=False) + monkeypatch.delenv("READTHEDOCS", raising=False) + monkeypatch.setattr(setuptools, "setup", fake_setup) + + with chdir(root): + run_path(str(root / "setup.py")) + + assert "casadi<3.8" in captured["install_requires"]