From 5615b3b7d147e44ae1f2d032deec13bfc69f548a Mon Sep 17 00:00:00 2001 From: Peter Corke Date: Tue, 13 Oct 2026 11:40:04 +1000 Subject: [PATCH] fix(docs): install spatialmath and pgraph with deps=False in JupyterLite spatialmath-python 1.1.18 lists pre-commit as a runtime dependency; its virtualenv requires packaging>=26.3, which conflicts with the packaging 24.2 built into Pyodide, so micropip.install fails in the browser and the docs build's Pyodide install check goes red. pgraph-python depends on spatialmath-python so has the same problem. Install both with deps=False and list their real runtime dependencies in the seed list. Remove once spatialmath drops the dependency (rai-opensource/spatialmath-python#250) and a release is out. Notebook bootstrap cells regenerated with sync_bootstrap.py. Co-Authored-By: Claude Sonnet 5.5 --- docs/notebooks/IBVS.ipynb | 18 ++++++++++++++++-- docs/notebooks/_mvtb_nb_bootstrap.py | 18 ++++++++++++++++-- docs/notebooks/calibration.ipynb | 18 ++++++++++++++++-- docs/notebooks/camera.ipynb | 18 ++++++++++++++++-- docs/notebooks/camera_animation.ipynb | 18 ++++++++++++++++-- docs/notebooks/color-images.ipynb | 18 ++++++++++++++++-- docs/notebooks/exploring-images.ipynb | 18 ++++++++++++++++-- docs/notebooks/fiducials.ipynb | 18 ++++++++++++++++-- docs/notebooks/finding-blobs.ipynb | 18 ++++++++++++++++-- docs/notebooks/gamma.ipynb | 18 ++++++++++++++++-- docs/notebooks/greyscale-images.ipynb | 18 ++++++++++++++++-- docs/notebooks/homogeneous-coords.ipynb | 18 ++++++++++++++++-- docs/notebooks/homography.ipynb | 18 ++++++++++++++++-- docs/notebooks/image-convolution.ipynb | 18 ++++++++++++++++-- docs/notebooks/image-features.ipynb | 18 ++++++++++++++++-- docs/notebooks/image-motion.ipynb | 18 ++++++++++++++++-- docs/notebooks/image-processing.ipynb | 18 ++++++++++++++++-- docs/notebooks/intro.ipynb | 18 ++++++++++++++++-- 18 files changed, 288 insertions(+), 36 deletions(-) diff --git a/docs/notebooks/IBVS.ipynb b/docs/notebooks/IBVS.ipynb index a080bc17..219ba218 100644 --- a/docs/notebooks/IBVS.ipynb +++ b/docs/notebooks/IBVS.ipynb @@ -67,15 +67,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/_mvtb_nb_bootstrap.py b/docs/notebooks/_mvtb_nb_bootstrap.py index 6eb31f55..3e7cbcb7 100644 --- a/docs/notebooks/_mvtb_nb_bootstrap.py +++ b/docs/notebooks/_mvtb_nb_bootstrap.py @@ -25,15 +25,29 @@ async def ensure_installed() -> bool: await micropip.install( [ "opencv-python", - "spatialmath-python", - "pgraph-python", "ansitable", "mvtb-data", "tqdm", "requests", "ipywidgets", + # runtime dependencies of spatialmath-python and pgraph-python, + # listed here because those two are installed with deps=False below + "numpy", + "scipy", + "matplotlib", + "typing_extensions", ] ) + # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime + # dependency; its virtualenv requires packaging>=26.3, which conflicts with + # the packaging 24.2 built into Pyodide, so a normal resolve fails. + # pgraph-python depends on spatialmath-python, so it needs the same + # treatment. Remove once a spatialmath release without that dependency is + # out (rai-opensource/spatialmath-python#250) and install both normally. + await micropip.install( + ["spatialmath-python", "pgraph-python"], + deps=False, + ) import cv2 # noqa: F401 - force cv2 into module registry before toolbox import wheels = sorted(Path("/pypi").glob("machinevision_toolbox_python-*.whl")) diff --git a/docs/notebooks/calibration.ipynb b/docs/notebooks/calibration.ipynb index 5fa94f99..cfb406f3 100644 --- a/docs/notebooks/calibration.ipynb +++ b/docs/notebooks/calibration.ipynb @@ -56,15 +56,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/camera.ipynb b/docs/notebooks/camera.ipynb index dbec864c..e72d5240 100644 --- a/docs/notebooks/camera.ipynb +++ b/docs/notebooks/camera.ipynb @@ -69,15 +69,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/camera_animation.ipynb b/docs/notebooks/camera_animation.ipynb index 6a730926..ff6e9c2c 100644 --- a/docs/notebooks/camera_animation.ipynb +++ b/docs/notebooks/camera_animation.ipynb @@ -65,15 +65,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/color-images.ipynb b/docs/notebooks/color-images.ipynb index d4b84cbd..89121510 100644 --- a/docs/notebooks/color-images.ipynb +++ b/docs/notebooks/color-images.ipynb @@ -65,15 +65,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/exploring-images.ipynb b/docs/notebooks/exploring-images.ipynb index f41811a1..acff577b 100644 --- a/docs/notebooks/exploring-images.ipynb +++ b/docs/notebooks/exploring-images.ipynb @@ -63,15 +63,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/fiducials.ipynb b/docs/notebooks/fiducials.ipynb index 9f3eaccf..b57cda4a 100644 --- a/docs/notebooks/fiducials.ipynb +++ b/docs/notebooks/fiducials.ipynb @@ -69,15 +69,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/finding-blobs.ipynb b/docs/notebooks/finding-blobs.ipynb index 640dd381..db6090cf 100644 --- a/docs/notebooks/finding-blobs.ipynb +++ b/docs/notebooks/finding-blobs.ipynb @@ -69,15 +69,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/gamma.ipynb b/docs/notebooks/gamma.ipynb index 440c14c8..9c8becb8 100644 --- a/docs/notebooks/gamma.ipynb +++ b/docs/notebooks/gamma.ipynb @@ -65,15 +65,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/greyscale-images.ipynb b/docs/notebooks/greyscale-images.ipynb index 616a4d32..158cdd3f 100644 --- a/docs/notebooks/greyscale-images.ipynb +++ b/docs/notebooks/greyscale-images.ipynb @@ -65,15 +65,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/homogeneous-coords.ipynb b/docs/notebooks/homogeneous-coords.ipynb index 1bb3cee3..2224ab8a 100644 --- a/docs/notebooks/homogeneous-coords.ipynb +++ b/docs/notebooks/homogeneous-coords.ipynb @@ -56,15 +56,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/homography.ipynb b/docs/notebooks/homography.ipynb index b47aa12b..6a839b69 100644 --- a/docs/notebooks/homography.ipynb +++ b/docs/notebooks/homography.ipynb @@ -69,15 +69,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/image-convolution.ipynb b/docs/notebooks/image-convolution.ipynb index 2fb5d8f9..c7d65e25 100644 --- a/docs/notebooks/image-convolution.ipynb +++ b/docs/notebooks/image-convolution.ipynb @@ -65,15 +65,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/image-features.ipynb b/docs/notebooks/image-features.ipynb index eccfce32..4a01bacc 100644 --- a/docs/notebooks/image-features.ipynb +++ b/docs/notebooks/image-features.ipynb @@ -69,15 +69,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/image-motion.ipynb b/docs/notebooks/image-motion.ipynb index f51598e5..690394f2 100644 --- a/docs/notebooks/image-motion.ipynb +++ b/docs/notebooks/image-motion.ipynb @@ -67,15 +67,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/image-processing.ipynb b/docs/notebooks/image-processing.ipynb index 753c95d0..b81d6feb 100644 --- a/docs/notebooks/image-processing.ipynb +++ b/docs/notebooks/image-processing.ipynb @@ -65,15 +65,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n", diff --git a/docs/notebooks/intro.ipynb b/docs/notebooks/intro.ipynb index f38007a4..57b479ec 100644 --- a/docs/notebooks/intro.ipynb +++ b/docs/notebooks/intro.ipynb @@ -46,15 +46,29 @@ " await micropip.install(\n", " [\n", " \"opencv-python\",\n", - " \"spatialmath-python\",\n", - " \"pgraph-python\",\n", " \"ansitable\",\n", " \"mvtb-data\",\n", " \"tqdm\",\n", " \"requests\",\n", " \"ipywidgets\",\n", + " # runtime dependencies of spatialmath-python and pgraph-python,\n", + " # listed here because those two are installed with deps=False below\n", + " \"numpy\",\n", + " \"scipy\",\n", + " \"matplotlib\",\n", + " \"typing_extensions\",\n", " ]\n", " )\n", + " # spatialmath-python <= 1.1.18 lists pre-commit (a dev tool) as a runtime\n", + " # dependency; its virtualenv requires packaging>=26.3, which conflicts with\n", + " # the packaging 24.2 built into Pyodide, so a normal resolve fails.\n", + " # pgraph-python depends on spatialmath-python, so it needs the same\n", + " # treatment. Remove once a spatialmath release without that dependency is\n", + " # out (rai-opensource/spatialmath-python#250) and install both normally.\n", + " await micropip.install(\n", + " [\"spatialmath-python\", \"pgraph-python\"],\n", + " deps=False,\n", + " )\n", " import cv2 # noqa: F401 - force cv2 into module registry before toolbox import\n", "\n", " wheels = sorted(Path(\"/pypi\").glob(\"machinevision_toolbox_python-*.whl\"))\n",