Solution to issue cannot be found in the documentation.
Issue
Writing a SpatialData object to Zarr fails when pandas 3.0+ is installed with pyarrow, due to ArrowStringArray not being supported by anndata's zarr writer.
I created a conda env with this command:
conda create -n spdata -c conda-forge -c bioconda spatialdata spatialdata-io
and it created an env with this tool versions:
# Name Version Build Channel
spatialdata 0.7.2 pyhd8ed1ab_0 conda-forge
spatialdata-io 0.6.0 pyhd8ed1ab_0 conda-forge
spatialdata-plot 0.2.14 pyhd8ed1ab_0 conda-forge
pandas 3.0.1 py312h8ecdadd_0 conda-forge
pyarrow 23.0.1 py312h7900ff3_0 conda-forge
Workaround:
Pin pandas to <3.0 (e.g., pandas==2.3.3) to avoid ArrowStringArray being used as the default string dtype.
also pin pyarrow to 20.0.0
Installed packages
$ conda list
# packages in environment at /home/nilchia/miniconda3/envs/spdata_n:
#
# Name Version Build Channel
_openmp_mutex 4.5 7_kmp_llvm conda-forge
affine 2.4.0 pyhd8ed1ab_1 conda-forge
aiohappyeyeballs 2.6.1 pyhd8ed1ab_0 conda-forge
aiohttp 3.13.3 py312h5d8c7f2_0 conda-forge
aiosignal 1.4.0 pyhd8ed1ab_0 conda-forge
anndata 0.12.0 pyhd8ed1ab_0 conda-forge
annotated-types 0.7.0 pyhd8ed1ab_1 conda-forge
annsel 0.1.2 pyhd8ed1ab_0 conda-forge
aom 3.9.1 hac33072_0 conda-forge
array-api-compat 1.13.0 pyhcf101f3_0 conda-forge
attrs 25.4.0 pyhcf101f3_1 conda-forge
aws-c-auth 0.9.4 hb9c0fe4_1 conda-forge
aws-c-cal 0.9.13 h2c9d079_1 conda-forge
aws-c-common 0.12.6 hb03c661_0 conda-forge
aws-c-compression 0.3.2 h8b1a151_0 conda-forge
aws-c-event-stream 0.5.9 h841be55_2 conda-forge
aws-c-http 0.10.10 hf621c6d_0 conda-forge
aws-c-io 0.26.1 h3ca20c3_1 conda-forge
aws-c-mqtt 0.14.0 ha25ca29_1 conda-forge
aws-c-s3 0.11.5 hf086b39_2 conda-forge
aws-c-sdkutils 0.2.4 h8b1a151_4 conda-forge
aws-checksums 0.2.10 h8b1a151_0 conda-forge
aws-crt-cpp 0.36.0 hf62aeb3_1 conda-forge
aws-sdk-cpp 1.11.606 hbd9bff7_11 conda-forge
azure-core-cpp 1.16.2 h206d751_0 conda-forge
azure-identity-cpp 1.13.3 hed0cdb0_1 conda-forge
azure-storage-blobs-cpp 12.16.0 hdd73cc9_1 conda-forge
azure-storage-common-cpp 12.12.0 ha7a2c86_1 conda-forge
azure-storage-files-datalake-cpp 12.14.0 h52c5a47_1 conda-forge
backports.zstd 1.3.0 py312h90b7ffd_0 conda-forge
blosc 1.21.6 he440d0b_1 conda-forge
bokeh 3.8.2 pyhd8ed1ab_0 conda-forge
branca 0.8.2 pyhd8ed1ab_0 conda-forge
brotli 1.2.0 hed03a55_1 conda-forge
brotli-bin 1.2.0 hb03c661_1 conda-forge
brotli-python 1.2.0 py312hdb49522_1 conda-forge
brunsli 0.1 hd1e3526_2 conda-forge
bzip2 1.0.8 hda65f42_9 conda-forge
c-ares 1.34.6 hb03c661_0 conda-forge
c-blosc2 2.23.0 hc31b594_0 conda-forge
ca-certificates 2026.1.4 hbd8a1cb_0 conda-forge
cached-property 1.5.2 hd8ed1ab_1 conda-forge
cached_property 1.5.2 pyha770c72_1 conda-forge
certifi 2026.1.4 pyhd8ed1ab_0 conda-forge
charls 2.4.2 h59595ed_0 conda-forge
charset-normalizer 3.4.4 pyhd8ed1ab_0 conda-forge
click 8.3.1 pyh8f84b5b_1 conda-forge
click-plugins 1.1.1.2 pyhd8ed1ab_0 conda-forge
cligj 0.7.2 pyhd8ed1ab_2 conda-forge
cloudpickle 3.1.2 pyhcf101f3_1 conda-forge
colorcet 3.1.0 pyhd8ed1ab_1 conda-forge
contourpy 1.3.3 py312h0a2e395_4 conda-forge
cpython 3.12.12 py312hd8ed1ab_2 conda-forge
cycler 0.12.1 pyhcf101f3_2 conda-forge
cytoolz 1.1.0 py312h4c3975b_1 conda-forge
dask 2026.1.1 pyhcf101f3_0 conda-forge
dask-core 2026.1.1 pyhcf101f3_1 conda-forge
dask-image 2025.11.0 pyhd8ed1ab_0 conda-forge
datashader 0.18.2 pyhd8ed1ab_0 conda-forge
dav1d 1.2.1 hd590300_0 conda-forge
deprecated 1.3.1 pyhd8ed1ab_1 conda-forge
distributed 2026.1.1 pyhcf101f3_1 conda-forge
donfig 0.8.1.post1 pyhd8ed1ab_1 conda-forge
fast-array-utils 1.3.1 pyhd8ed1ab_0 conda-forge
filelock 3.24.3 pyhd8ed1ab_0 conda-forge
flexcache 0.3 pyhd8ed1ab_1 conda-forge
flexparser 0.4 pyhd8ed1ab_1 conda-forge
flowio 1.4.0 pyhd8ed1ab_0 conda-forge
fmt 12.1.0 hff5e90c_0 conda-forge
folium 0.20.0 pyhd8ed1ab_0 conda-forge
fonttools 4.61.1 py312h8a5da7c_0 conda-forge
freetype 2.14.1 ha770c72_0 conda-forge
freexl 2.0.0 h9dce30a_2 conda-forge
frozenlist 1.7.0 py312h447239a_0 conda-forge
fsspec 2026.2.0 pyhd8ed1ab_0 conda-forge
geopandas 1.1.2 pyhd8ed1ab_0 conda-forge
geopandas-base 1.1.2 pyha770c72_0 conda-forge
geos 3.14.1 h480dda7_0 conda-forge
gflags 2.2.2 h5888daf_1005 conda-forge
giflib 5.2.2 hd590300_0 conda-forge
glog 0.7.1 hbabe93e_0 conda-forge
gmp 6.3.0 hac33072_2 conda-forge
gmpy2 2.2.1 py312hcaba1f9_2 conda-forge
google-crc32c 1.8.0 py312h03f33d3_1 conda-forge
h2 4.3.0 pyhcf101f3_0 conda-forge
h5py 3.15.1 nompi_py312ha4f8f14_101 conda-forge
hdf5 1.14.6 nompi_h19486de_106 conda-forge
hpack 4.1.0 pyhd8ed1ab_0 conda-forge
hyperframe 6.1.0 pyhd8ed1ab_0 conda-forge
icu 78.2 h33c6efd_0 conda-forge
idna 3.11 pyhd8ed1ab_0 conda-forge
imagecodecs 2026.1.14 py312h40df4bb_1 conda-forge
imageio 2.37.0 pyhfb79c49_0 conda-forge
importlib-metadata 8.7.0 pyhe01879c_1 conda-forge
jinja2 3.1.6 pyhcf101f3_1 conda-forge
joblib 1.5.3 pyhd8ed1ab_0 conda-forge
json-c 0.18 h6688a6e_0 conda-forge
jxrlib 1.1 hd590300_3 conda-forge
keyutils 1.6.3 hb9d3cd8_0 conda-forge
kiwisolver 1.4.9 py312h0a2e395_2 conda-forge
krb5 1.22.2 ha1258a1_0 conda-forge
lazy-loader 0.4 pyhd8ed1ab_2 conda-forge
lcms2 2.18 h0c24ade_0 conda-forge
ld_impl_linux-64 2.45.1 default_hbd61a6d_101 conda-forge
legacy-api-wrap 1.5 pyhd8ed1ab_0 conda-forge
lerc 4.0.0 h0aef613_1 conda-forge
libabseil 20260107.1 cxx17_h7b12aa8_0 conda-forge
libaec 1.1.5 h088129d_0 conda-forge
libarchive 3.8.5 gpl_hc2c16d8_100 conda-forge
libarrow 23.0.1 h5a3c682_1_cpu conda-forge
libarrow-acero 23.0.1 h635bf11_1_cpu conda-forge
libarrow-compute 23.0.1 h53684a4_1_cpu conda-forge
libarrow-dataset 23.0.1 h635bf11_1_cpu conda-forge
libarrow-substrait 23.0.1 hb4dd7c2_1_cpu conda-forge
libavif16 1.3.0 h316e467_3 conda-forge
libblas 3.11.0 5_h5875eb1_mkl conda-forge
libbrotlicommon 1.2.0 hb03c661_1 conda-forge
libbrotlidec 1.2.0 hb03c661_1 conda-forge
libbrotlienc 1.2.0 hb03c661_1 conda-forge
libcblas 3.11.0 5_hfef963f_mkl conda-forge
libcrc32c 1.1.2 h9c3ff4c_0 conda-forge
libcurl 8.18.0 hcf29cc6_1 conda-forge
libdeflate 1.25 h17f619e_0 conda-forge
libedit 3.1.20250104 pl5321h7949ede_0 conda-forge
libev 4.33 hd590300_2 conda-forge
libevent 2.1.12 hf998b51_1 conda-forge
libexpat 2.7.4 hecca717_0 conda-forge
libffi 3.5.2 h3435931_0 conda-forge
libfreetype 2.14.1 ha770c72_0 conda-forge
libfreetype6 2.14.1 h73754d4_0 conda-forge
libgcc 15.2.0 he0feb66_18 conda-forge
libgcc-ng 15.2.0 h69a702a_18 conda-forge
libgdal-core 3.12.2 hc2c0581_1 conda-forge
libgfortran 15.2.0 h69a702a_18 conda-forge
libgfortran5 15.2.0 h68bc16d_18 conda-forge
libgoogle-cloud 2.39.0 h9d11ab5_1 conda-forge
libgoogle-cloud-storage 2.39.0 hdbdcf42_1 conda-forge
libgrpc 1.78.0 h1d1128b_1 conda-forge
libhwloc 2.12.2 default_hafda6a7_1000 conda-forge
libhwy 1.3.0 h4c17acf_1 conda-forge
libiconv 1.18 h3b78370_2 conda-forge
libjpeg-turbo 3.1.2 hb03c661_0 conda-forge
libjxl 0.11.2 ha09017c_0 conda-forge
libkml 1.3.0 haa4a5bd_1022 conda-forge
liblapack 3.11.0 5_h5e43f62_mkl conda-forge
liblzma 5.8.2 hb03c661_0 conda-forge
libnghttp2 1.67.0 had1ee68_0 conda-forge
libnsl 2.0.1 hb9d3cd8_1 conda-forge
libopentelemetry-cpp 1.21.0 h9692893_2 conda-forge
libopentelemetry-cpp-headers 1.21.0 ha770c72_2 conda-forge
libparquet 23.0.1 h7376487_1_cpu conda-forge
libpng 1.6.55 h421ea60_0 conda-forge
libprotobuf 6.33.5 h2b00c02_0 conda-forge
libre2-11 2025.11.05 h0dc7533_1 conda-forge
librttopo 1.1.0 h46dd2a8_20 conda-forge
libspatialite 5.1.0 gpl_h2abfd87_119 conda-forge
libsqlite 3.51.2 hf4e2dac_0 conda-forge
libssh2 1.11.1 hcf80075_0 conda-forge
libstdcxx 15.2.0 h934c35e_18 conda-forge
libstdcxx-ng 15.2.0 hdf11a46_18 conda-forge
libthrift 0.22.0 h454ac66_1 conda-forge
libtiff 4.7.1 h9d88235_1 conda-forge
libtorch 2.10.0 cpu_mkl_h7058990_102 conda-forge
libutf8proc 2.11.3 hfe17d71_0 conda-forge
libuuid 2.41.3 h5347b49_0 conda-forge
libuv 1.51.0 hb03c661_1 conda-forge
libwebp-base 1.6.0 hd42ef1d_0 conda-forge
libxcb 1.17.0 h8a09558_0 conda-forge
libxcrypt 4.4.36 hd590300_1 conda-forge
libxml2 2.15.1 he237659_1 conda-forge
libxml2-16 2.15.1 hca6bf5a_1 conda-forge
libxml2-devel 2.15.1 he237659_1 conda-forge
libxslt 1.1.43 h711ed8c_1 conda-forge
libzlib 1.3.1 hb9d3cd8_2 conda-forge
libzopfli 1.0.3 h9c3ff4c_0 conda-forge
llvm-openmp 21.1.8 h4922eb0_0 conda-forge
llvmlite 0.46.0 py312h7424e68_0 conda-forge
locket 1.0.0 pyhd8ed1ab_0 conda-forge
lxml 6.0.2 py312h63ddcf0_2 conda-forge
lz4 4.4.5 py312h3d67a73_1 conda-forge
lz4-c 1.10.0 h5888daf_1 conda-forge
lzo 2.10 h280c20c_1002 conda-forge
mapclassify 2.10.0 pyhd8ed1ab_1 conda-forge
markdown-it-py 4.0.0 pyhd8ed1ab_0 conda-forge
markupsafe 3.0.3 py312h8a5da7c_0 conda-forge
matplotlib-base 3.10.8 py312he3d6523_0 conda-forge
matplotlib-scalebar 0.9.0 pyhd8ed1ab_0 conda-forge
mdurl 0.1.2 pyhd8ed1ab_1 conda-forge
minizip 4.0.10 h05a5f5f_0 conda-forge
mkl 2025.3.0 h0e700b2_463 conda-forge
more-itertools 10.8.0 pyhcf101f3_1 conda-forge
mpc 1.3.1 h24ddda3_1 conda-forge
mpfr 4.2.1 h90cbb55_3 conda-forge
mpmath 1.3.0 pyhd8ed1ab_1 conda-forge
msgpack-python 1.1.2 py312hd9148b4_1 conda-forge
multidict 6.7.0 py312h8a5da7c_0 conda-forge
multipledispatch 0.6.0 pyhd8ed1ab_1 conda-forge
multiscale-spatial-image 2.0.3 pyhd8ed1ab_0 conda-forge
munkres 1.1.4 pyhd8ed1ab_1 conda-forge
muparser 2.3.5 h5888daf_0 conda-forge
narwhals 2.16.0 pyhcf101f3_0 conda-forge
natsort 8.4.0 pyhcf101f3_2 conda-forge
ncurses 6.5 h2d0b736_3 conda-forge
networkx 3.6.1 pyhcf101f3_0 conda-forge
nlohmann_json 3.12.0 h54a6638_1 conda-forge
numba 0.63.1 py312hd1dde6f_0 conda-forge
numcodecs 0.16.5 py312hf79963d_0 conda-forge
numpy 2.3.5 py312h33ff503_1 conda-forge
ome-types 0.6.3 pyhcf101f3_1 conda-forge
ome-zarr 0.13.0 pyhd8ed1ab_0 conda-forge
openjpeg 2.5.4 h55fea9a_0 conda-forge
openjph 0.26.3 h8d634f6_0 conda-forge
openssl 3.6.1 h35e630c_1 conda-forge
optree 0.18.0 py312hd9148b4_0 conda-forge
orc 2.2.2 hbb90d81_1 conda-forge
packaging 26.0 pyhcf101f3_0 conda-forge
pandas 3.0.1 py312h8ecdadd_0 conda-forge
param 2.3.2 pyhc455866_0 conda-forge
partd 1.4.2 pyhd8ed1ab_0 conda-forge
pathlib-abc 0.5.2 pyh9692d8f_0 conda-forge
patsy 1.0.2 pyhcf101f3_0 conda-forge
pcre2 10.47 haa7fec5_0 conda-forge
pillow 12.1.1 py312h50c33e8_0 conda-forge
pims 0.7 pyhd8ed1ab_1 conda-forge
pint 0.25.2 pyhcf101f3_0 conda-forge
pip 26.0.1 pyh8b19718_0 conda-forge
platformdirs 4.9.2 pyhcf101f3_0 conda-forge
pooch 1.9.0 pyhd8ed1ab_0 conda-forge
proj 9.7.1 he0df7b0_3 conda-forge
prometheus-cpp 1.3.0 ha5d0236_0 conda-forge
propcache 0.3.1 py312h178313f_0 conda-forge
psutil 7.2.2 py312h5253ce2_0 conda-forge
pthread-stubs 0.4 hb9d3cd8_1002 conda-forge
pyarrow 23.0.1 py312h7900ff3_0 conda-forge
pyarrow-core 23.0.1 py312h2054cf2_0_cpu conda-forge
pybind11 3.0.2 pyh7a1b43c_0 conda-forge
pybind11-abi 11 hc364b38_1 conda-forge
pybind11-global 3.0.2 pyhc7ab6ef_0 conda-forge
pyct 0.6.0 pyhd8ed1ab_0 conda-forge
pydantic 2.12.5 pyhcf101f3_1 conda-forge
pydantic-core 2.41.5 py312h868fb18_1 conda-forge
pydantic-extra-types 2.11.0 pyhcf101f3_1 conda-forge
pygments 2.19.2 pyhd8ed1ab_0 conda-forge
pynndescent 0.5.13 pyhd8ed1ab_1 conda-forge
pyogrio 0.12.1 py312h053e1f3_0 conda-forge
pyparsing 3.3.2 pyhcf101f3_0 conda-forge
pyproj 3.7.2 py312h9b6a7d9_2 conda-forge
pysocks 1.7.1 pyha55dd90_7 conda-forge
python 3.12.12 hd63d673_2_cpython conda-forge
python-dateutil 2.9.0.post0 pyhe01879c_2 conda-forge
python_abi 3.12 8_cp312 conda-forge
pytorch 2.10.0 cpu_mkl_py312_hca44ed5_102 conda-forge
pyyaml 6.0.3 py312h8a5da7c_1 conda-forge
qhull 2020.2 h434a139_5 conda-forge
rangehttpserver 1.4.0 pyhd8ed1ab_1 conda-forge
rasterio 1.5.0 py312hcedc861_0 conda-forge
rav1e 0.7.1 h8fae777_3 conda-forge
re2 2025.11.05 h5301d42_1 conda-forge
readfcs 2.1.0 pyhd8ed1ab_0 conda-forge
readline 8.3 h853b02a_0 conda-forge
requests 2.32.5 pyhcf101f3_1 conda-forge
rich 14.3.3 pyhcf101f3_0 conda-forge
rioxarray 0.21.0 pyhcf101f3_1 conda-forge
ruff 0.15.2 h40fa522_0 conda-forge
s2n 1.7.0 ha63dd3a_1 conda-forge
scanpy 1.12 pyhd8ed1ab_0 conda-forge
scikit-image 0.26.0 np2py312h4ae17e4_0 conda-forge
scikit-learn 1.8.0 np2py312h3226591_1 conda-forge
scipy 1.16.3 py312h54fa4ab_2 conda-forge
seaborn 0.13.2 hd8ed1ab_3 conda-forge
seaborn-base 0.13.2 pyhd8ed1ab_3 conda-forge
session-info2 0.4 pyhd8ed1ab_0 conda-forge
setuptools 82.0.0 pyh332efcf_0 conda-forge
shapely 2.1.2 py312h383787d_2 conda-forge
six 1.17.0 pyhe01879c_1 conda-forge
sleef 3.9.0 ha0421bc_0 conda-forge
slicerator 1.1.0 pyhd8ed1ab_1 conda-forge
snappy 1.2.2 h03e3b7b_1 conda-forge
snuggs 1.4.7 pyhd8ed1ab_2 conda-forge
sortedcontainers 2.4.0 pyhd8ed1ab_1 conda-forge
spatial-image 1.2.3 pyhd8ed1ab_1 conda-forge
spatialdata 0.7.2 pyhd8ed1ab_0 conda-forge
spatialdata-io 0.6.0 pyhd8ed1ab_0 conda-forge
spatialdata-plot 0.2.14 pyhd8ed1ab_0 conda-forge
sqlite 3.51.2 h04a0ce9_0 conda-forge
statsmodels 0.14.6 py312h4f23490_0 conda-forge
svt-av1 4.0.0 hecca717_0 conda-forge
sympy 1.14.0 pyh2585a3b_105 conda-forge
tbb 2022.3.0 hb700be7_2 conda-forge
tblib 3.2.2 pyhcf101f3_0 conda-forge
threadpoolctl 3.6.0 pyhecae5ae_0 conda-forge
tifffile 2026.2.16 pyhd8ed1ab_0 conda-forge
tk 8.6.13 noxft_h366c992_103 conda-forge
toolz 1.1.0 pyhd8ed1ab_1 conda-forge
toposort 1.10 pyhd8ed1ab_1 conda-forge
tornado 6.5.4 py312h961da02_0 conda-forge
tqdm 4.67.3 pyh8f84b5b_0 conda-forge
typing-extensions 4.15.0 h396c80c_0 conda-forge
typing-inspection 0.4.2 pyhd8ed1ab_1 conda-forge
typing_extensions 4.15.0 pyhcf101f3_0 conda-forge
tzdata 2025c hc9c84f9_1 conda-forge
umap-learn 0.5.11 py312h7900ff3_0 conda-forge
unicodedata2 17.0.1 py312h4c3975b_0 conda-forge
universal-pathlib 0.3.9 hd8ed1ab_0 conda-forge
universal_pathlib 0.3.9 pyhd8ed1ab_0 conda-forge
uriparser 0.9.8 hac33072_0 conda-forge
urllib3 2.6.3 pyhd8ed1ab_0 conda-forge
wheel 0.46.3 pyhd8ed1ab_0 conda-forge
wrapt 2.1.1 py312h4c3975b_0 conda-forge
xarray 2025.11.0 pyhcf101f3_0 conda-forge
xarray-dataclass 3.0.0 pyhd8ed1ab_1 conda-forge
xarray-spatial 0.5.2 pyhd8ed1ab_0 conda-forge
xerces-c 3.3.0 hd9031aa_1 conda-forge
xmltodict 1.0.3 pyhcf101f3_0 conda-forge
xorg-libxau 1.0.12 hb03c661_1 conda-forge
xorg-libxdmcp 1.1.5 hb03c661_1 conda-forge
xsdata 26.2 pyhd8ed1ab_0 conda-forge
xyzservices 2025.11.0 pyhd8ed1ab_0 conda-forge
yaml 0.2.5 h280c20c_3 conda-forge
yarl 1.22.0 py312h8a5da7c_0 conda-forge
zarr 3.1.5 pyhcf101f3_0 conda-forge
zfp 1.0.1 h909a3a2_5 conda-forge
zict 3.0.0 pyhd8ed1ab_1 conda-forge
zipp 3.23.0 pyhcf101f3_1 conda-forge
zlib 1.3.1 hb9d3cd8_2 conda-forge
zlib-ng 2.3.3 hceb46e0_1 conda-forge
zstd 1.5.7 hb78ec9c_6 conda-forge
Environment info
$ conda info
active environment : spdata_n
active env location : /home/nilchia/miniconda3/envs/spdata_n
shell level : 1
user config file : /home/nilchia/.condarc
populated config files : /home/nilchia/miniconda3/.condarc
/home/nilchia/.condarc
conda version : 25.5.1
conda-build version : not installed
python version : 3.13.5.final.0
solver : libmamba (default)
virtual packages : __archspec=1=skylake
__conda=25.5.1=0
__glibc=2.39=0
__linux=6.14.0=0
__unix=0=0
base environment : /home/nilchia/miniconda3 (writable)
conda av data dir : /home/nilchia/miniconda3/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://conda.anaconda.org/bioconda/linux-64
https://conda.anaconda.org/bioconda/noarch
package cache : /home/nilchia/miniconda3/pkgs
/home/nilchia/.conda/pkgs
envs directories : /home/nilchia/miniconda3/envs
/home/nilchia/.conda/envs
platform : linux-64
user-agent : conda/25.5.1 requests/2.32.4 CPython/3.13.5 Linux/6.14.0-123037-tuxedo ubuntu/24.04.4 glibc/2.39 solver/libmamba conda-libmamba-solver/25.4.0 libmambapy/2.0.5 aau/0.7.1 c/. s/. e/.
UID:GID : 19893:1165
netrc file : None
offline mode : False
Solution to issue cannot be found in the documentation.
Issue
Writing a SpatialData object to Zarr fails when pandas 3.0+ is installed with pyarrow, due to ArrowStringArray not being supported by anndata's zarr writer.
I created a conda env with this command:
and it created an env with this tool versions:
Workaround:
Pin pandas to <3.0 (e.g., pandas==2.3.3) to avoid ArrowStringArray being used as the default string dtype.
also pin pyarrow to 20.0.0
Installed packages
Environment info
$ conda info active environment : spdata_n active env location : /home/nilchia/miniconda3/envs/spdata_n shell level : 1 user config file : /home/nilchia/.condarc populated config files : /home/nilchia/miniconda3/.condarc /home/nilchia/.condarc conda version : 25.5.1 conda-build version : not installed python version : 3.13.5.final.0 solver : libmamba (default) virtual packages : __archspec=1=skylake __conda=25.5.1=0 __glibc=2.39=0 __linux=6.14.0=0 __unix=0=0 base environment : /home/nilchia/miniconda3 (writable) conda av data dir : /home/nilchia/miniconda3/etc/conda conda av metadata url : None channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://conda.anaconda.org/bioconda/linux-64 https://conda.anaconda.org/bioconda/noarch package cache : /home/nilchia/miniconda3/pkgs /home/nilchia/.conda/pkgs envs directories : /home/nilchia/miniconda3/envs /home/nilchia/.conda/envs platform : linux-64 user-agent : conda/25.5.1 requests/2.32.4 CPython/3.13.5 Linux/6.14.0-123037-tuxedo ubuntu/24.04.4 glibc/2.39 solver/libmamba conda-libmamba-solver/25.4.0 libmambapy/2.0.5 aau/0.7.1 c/. s/. e/. UID:GID : 19893:1165 netrc file : None offline mode : False