Skip to content

NF: Polyxios Integration. - #1289

Merged
skoudoro merged 2 commits into
fury-gl:masterfrom
maharshi-gor:polyxios-integration
Jul 1, 2026
Merged

NF: Polyxios Integration.#1289
skoudoro merged 2 commits into
fury-gl:masterfrom
maharshi-gor:polyxios-integration

Conversation

@maharshi-gor

Copy link
Copy Markdown
Contributor
  • Introduce reading of mesh, lines and point files.
  • Supports vtk extensions and standarad obj, ply, stl, xml.
  • Testcases for the same are introduced.
  • Added polyxios as dependency.
  • Example for using function with some learning.

- Introduce reading of mesh, lines and point files.
- Supports vtk extensions and standarad obj, ply, stl, xml.
- Testcases for the same are introduced.
- Added polyxios as dependency.
- Example for using function with some learning.
@maharshi-gor
maharshi-gor force-pushed the polyxios-integration branch from e15f5e1 to 1a4ba1c Compare June 28, 2026 14:01
@ganimtron-10
ganimtron-10 force-pushed the polyxios-integration branch from 066fd2c to 2006a50 Compare June 29, 2026 19:33
@ganimtron-10

Copy link
Copy Markdown
Contributor

Hi @maharshi-gor , I updated the tutorial to show how to read mesh, line and point in single tutorial. PTAL.

@skoudoro skoudoro left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @maharshi-gor,

Almost ready to go. See below.

Nice tutorial. Thanks for the update @ganimtron-10

Comment thread requirements/default.txt Outdated
pygfx>=0.16.0
glfw>=2.7.0
aiohttp
polyxios

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

min version to add

Comment thread pyproject.toml Outdated
"glfw>=2.7.0",
"aiohttp"
"aiohttp",
"polyxios"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

min version to add

@skoudoro

Copy link
Copy Markdown
Contributor

Also, min version to be handle better because I have a tons of warnings (something wrong):

❯ python docs/examples/viz_read_mesh.py
objc[41929]: Class GLFWHelper is implemented in both /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/glfw/libglfw.3.dylib (0x10ac69bb8) and /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/imgui_bundle/libglfw.3.dylib (0x10b15d260). One of the two will be used. Which one is undefined.
objc[41929]: Class GLFWApplicationDelegate is implemented in both /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/glfw/libglfw.3.dylib (0x10ac69c08) and /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/imgui_bundle/libglfw.3.dylib (0x10b15d2b0). One of the two will be used. Which one is undefined.
objc[41929]: Class GLFWWindowDelegate is implemented in both /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/glfw/libglfw.3.dylib (0x10ac69c30) and /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/imgui_bundle/libglfw.3.dylib (0x10b15d2d8). One of the two will be used. Which one is undefined.
objc[41929]: Class GLFWContentView is implemented in both /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/glfw/libglfw.3.dylib (0x10ac69c80) and /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/imgui_bundle/libglfw.3.dylib (0x10b15d328). One of the two will be used. Which one is undefined.
objc[41929]: Class GLFWWindow is implemented in both /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/glfw/libglfw.3.dylib (0x10ac69cf8) and /opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/imgui_bundle/libglfw.3.dylib (0x10b15d3a0). One of the two will be used. Which one is undefined.

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.2.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "/Users/skoudoro/devel/fury/docs/examples/viz_read_mesh.py", line 39, in <module>
    from fury import actor, ui, window
  File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/lazy_loader/__init__.py", line 79, in __getattr__
    return importlib.import_module(f"{package_name}.{name}")
  File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/Users/skoudoro/devel/fury/fury/window.py", line 56, in <module>
    cv2, have_cv2, _ = optional_package(
  File "/Users/skoudoro/devel/fury/fury/optpkg.py", line 195, in optional_package
    pkg = importlib.import_module(name)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/cv2/__init__.py", line 153, in bootstrap
    native_module = importlib.import_module("cv2")
  File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
AttributeError: _ARRAY_API not found
Human.vtp (Mesh): 17665 vertices, 34660 faces
hello.vtk (Lines): 30 vertices across 15 lines
star.mesh (Points): 31 points
/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/setuptools_scm/git.py:308: UserWarning: git archive did not support describe output
  warnings.warn("git archive did not support describe output")
/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/setuptools_scm/git.py:327: UserWarning: unprocessed git archival found (no export subst applied)
  warnings.warn("unprocessed git archival found (no export subst applied)")
2026-06-29 23:58:16.027 python[41929:883987370] +[IMKClient subclass]: chose IMKClient_Modern
2026-06-29 23:58:16.027 python[41929:883987370] +[IMKInputSession subclass]: chose IMKInputSession_Modern

@maharshi-gor

maharshi-gor commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.2.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last): File "/Users/skoudoro/devel/fury/docs/examples/viz_read_mesh.py", line 39, in
from fury import actor, ui, window
File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/lazy_loader/init.py", line 79, in getattr
return importlib.import_module(f"{package_name}.{name}")
File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/Users/skoudoro/devel/fury/fury/window.py", line 56, in
cv2, have_cv2, _ = optional_package(
File "/Users/skoudoro/devel/fury/fury/optpkg.py", line 195, in optional_package
pkg = importlib.import_module(name)
File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/cv2/init.py", line 181, in
bootstrap()
File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/site-packages/cv2/init.py", line 153, in bootstrap
native_module = importlib.import_module("cv2")
File "/opt/homebrew/Caskroom/miniforge/base/envs/py311-fury/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
AttributeError: _ARRAY_API not found

@skoudoro please upgrade your opencv-python and it should be good.

It is just some old version of opencv-python which is compiled for numpy 2.0

@maharshi-gor
maharshi-gor force-pushed the polyxios-integration branch from 2006a50 to 2bf6c84 Compare June 30, 2026 14:46

@skoudoro skoudoro left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @maharshi-gor,

merging

@skoudoro
skoudoro merged commit 8f0a11f into fury-gl:master Jul 1, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants