-
Notifications
You must be signed in to change notification settings - Fork 2
Description
🐛 Bug Report
We are storing node properties according to the napari tracks features property, which returns a pandas dataframe.
If a user loads in a graph with, say, some nodes missing an integer property, those ints end up getting automatically cast to float64 by pandas because our properties must live on the tracks layer feature dataframe.
💡 Steps to Reproduce
Load up a geff with integer node properties, ensure at least one node is missing that property
Save it out
That node property is now float
💡 Expected Behavior
No response
🌎 Environment
napari: 0.6.3.dev24+gdeb2871c
Platform: macOS-26.0-arm64-arm-64bit
System: MacOS 26.0
Python: 3.10.18 (main, Jun 5 2025, 08:37:47) [Clang 14.0.6 ]
Qt: 5.15.14
PyQt5: 5.15.11
NumPy: 2.2.6
SciPy: 1.15.3
Dask: 2025.7.0
VisPy: 0.15.2
magicgui: 0.10.1
superqt: 0.7.5
in-n-out: 0.2.1
app-model: 0.4.0
psygnal: 0.14.0
npe2: 0.7.9
pydantic: 2.11.7
OpenGL:
- PyOpenGL: 3.1.9
- GL version: 2.1 Metal - 90.5
- MAX_TEXTURE_SIZE: 16384
- GL_MAX_3D_TEXTURE_SIZE: 2048
Screens:
- screen 1: resolution 2056x1329, scale 2.0
Optional:
- numba: 0.61.2
- triangle: 20250106
- napari-plugin-manager: 0.1.6
- bermuda: 0.1.5
- PartSegCore not installed
Experimental Settings:
- Async: False
- Autoswap buffers: False
- Triangulation backend: Fastest available
Settings path:
- /Users/georgeos/Library/Application Support/napari/geff_b6efc904579e39268a68ecd3a9a5ce64295996ce/settings.yaml
Launch command:
- /opt/anaconda3/envs/geff/bin/napari --info
Plugins:
- napari-geff: 0.1.dev65+gf5e4401.d20250722 (4 contributions)
- napari-svg: 0.2.1 (2 contributions)
- napari: 0.6.3.dev24+gdeb2871c (84 contributions)
- napari-console: 0.1.3 (0 contributions)
💡 Additional Context
No response