# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{10..12} ) inherit distutils-r1 pypi DESCRIPTION="An implementation of chunked, compressed, N-dimensional arrays for Python" HOMEPAGE="http://zarr.readthedocs.io" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="examples jupyter" RESTRICT="test" # Test phase runs with fails RDEPEND="dev-python/asciitree[${PYTHON_USEDEP}] >=dev-python/numpy-1.23[${PYTHON_USEDEP}] dev-python/fasteners[${PYTHON_USEDEP}] >=dev-python/numcodecs-0.10.0[${PYTHON_USEDEP}] jupyter? ( >=dev-python/ipywidgets-8.0.0[${PYTHON_USEDEP}] dev-python/notebook[${PYTHON_USEDEP}] ) " BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}] test? ( dev-python/bsddb3[${PYTHON_USEDEP}] dev-python/fsspec[${PYTHON_USEDEP}] dev-python/h5py[${PYTHON_USEDEP}] dev-python/lmdb[${PYTHON_USEDEP}] dev-python/moto[${PYTHON_USEDEP}] dev-python/msgpack[${PYTHON_USEDEP}] dev-python/pymongo[${PYTHON_USEDEP}] dev-python/redis[${PYTHON_USEDEP}] dev-python/s3fs[${PYTHON_USEDEP}] ) " distutils_enable_tests pytest distutils_enable_sphinx docs dev-python/numpydoc \ dev-python/sphinx-automodapi \ dev-python/sphinx-copybutton \ dev-python/sphinx-issues \ dev-python/sphinx-design \ dev-python/pydata-sphinx-theme # No module named 'azure' EPYTEST_DESELECT=( zarr/tests/test_core.py::TestArrayWithABSStore::test_0len_dim_1d zarr/tests/test_core.py::TestArrayWithABSStore::test_0len_dim_2d zarr/tests/test_core.py::TestArrayWithABSStore::test_append_1d zarr/tests/test_core.py::TestArrayWithABSStore::test_append_2d zarr/tests/test_core.py::TestArrayWithABSStore::test_append_2d_axis zarr/tests/test_core.py::TestArrayWithABSStore::test_append_bad_shape zarr/tests/test_core.py::TestArrayWithABSStore::test_array_0d zarr/tests/test_core.py::TestArrayWithABSStore::test_array_1d zarr/tests/test_core.py::TestArrayWithABSStore::test_array_1d_fill_value zarr/tests/test_core.py::TestArrayWithABSStore::test_array_1d_selections zarr/tests/test_core.py::TestArrayWithABSStore::test_array_1d_set_scalar zarr/tests/test_core.py::TestArrayWithABSStore::test_array_2d zarr/tests/test_core.py::TestArrayWithABSStore::test_array_2d_edge_case zarr/tests/test_core.py::TestArrayWithABSStore::test_array_2d_partial zarr/tests/test_core.py::TestArrayWithABSStore::test_array_dtype_shape zarr/tests/test_core.py::TestArrayWithABSStore::test_array_init zarr/tests/test_core.py::TestArrayWithABSStore::test_array_order zarr/tests/test_core.py::TestArrayWithABSStore::test_attributes zarr/tests/test_core.py::TestArrayWithABSStore::test_compressors zarr/tests/test_core.py::TestArrayWithABSStore::test_dtypes zarr/tests/test_core.py::TestArrayWithABSStore::test_endian zarr/tests/test_core.py::TestArrayWithABSStore::test_hexdigest zarr/tests/test_core.py::TestArrayWithABSStore::test_islice zarr/tests/test_core.py::TestArrayWithABSStore::test_iter zarr/tests/test_core.py::TestArrayWithABSStore::test_iteration_exceptions zarr/tests/test_core.py::TestArrayWithABSStore::test_nchunks_initialized zarr/tests/test_core.py::TestArrayWithABSStore::test_np_ufuncs zarr/tests/test_core.py::TestArrayWithABSStore::test_object_arrays zarr/tests/test_core.py::TestArrayWithABSStore::test_object_arrays_danger zarr/tests/test_core.py::TestArrayWithABSStore::test_object_arrays_vlen_array zarr/tests/test_core.py::TestArrayWithABSStore::test_object_arrays_vlen_bytes zarr/tests/test_core.py::TestArrayWithABSStore::test_object_arrays_vlen_text zarr/tests/test_core.py::TestArrayWithABSStore::test_object_codec_warnings zarr/tests/test_core.py::TestArrayWithABSStore::test_pickle zarr/tests/test_core.py::TestArrayWithABSStore::test_read_only zarr/tests/test_core.py::TestArrayWithABSStore::test_resize_1d zarr/tests/test_core.py::TestArrayWithABSStore::test_resize_2d zarr/tests/test_core.py::TestArrayWithABSStore::test_setitem_data_not_shared zarr/tests/test_core.py::TestArrayWithABSStore::test_store_has_binary_values zarr/tests/test_core.py::TestArrayWithABSStore::test_store_has_bytes_values zarr/tests/test_core.py::TestArrayWithABSStore::test_store_has_text_keys zarr/tests/test_core.py::TestArrayWithABSStore::test_structured_array zarr/tests/test_core.py::TestArrayWithABSStore::test_structured_array_contain_object zarr/tests/test_core.py::TestArrayWithABSStore::test_structured_array_nested zarr/tests/test_core.py::TestArrayWithABSStore::test_structured_array_subshapes zarr/tests/test_core.py::TestArrayWithABSStore::test_structured_with_object zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_0len_dim_1d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_0len_dim_2d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_append_1d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_append_2d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_append_2d_axis zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_append_bad_shape zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_0d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_1d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_1d_fill_value zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_1d_selections zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_1d_set_scalar zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_2d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_2d_edge_case zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_2d_partial zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_dtype_shape zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_init zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_array_order zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_attributes zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_compressors zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_dtypes zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_endian zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_hexdigest zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_islice zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_iter zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_iteration_exceptions zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_nbytes_stored zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_nchunks_initialized zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_np_ufuncs zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_object_arrays zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_object_arrays_danger zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_object_arrays_vlen_array zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_object_arrays_vlen_bytes zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_object_arrays_vlen_text zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_object_codec_warnings zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_pickle zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_read_only zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_resize_1d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_resize_2d zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_setitem_data_not_shared zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_store_has_binary_values zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_store_has_bytes_values zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_store_has_text_keys zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_structured_array zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_structured_array_contain_object zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_structured_array_nested zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_structured_array_subshapes zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_structured_with_object zarr/tests/test_core.py::TestArrayWithABSStoreV3::test_view zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_move zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_paths zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupWithABSStore::test_setitem zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_array_creation zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_context_manager zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_create_dataset zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_create_errors zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_create_group zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_create_overwrite zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_delitem zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_double_counting_group_v3 zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_empty_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_getattr zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_getitem_contains_iterators zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_group_init_1 zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_group_init_2 zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_group_init_errors_1 zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_group_init_errors_2 zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_group_repr zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_ipython_repr_methods zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_iterators_recurse zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_move zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_paths zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_pickle zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_require_dataset zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_require_group zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_rmdir_group_and_array_metadata_files zarr/tests/test_hierarchy.py::TestGroupV3WithABSStore::test_setitem zarr/tests/test_storage.py::TestABSStore::test_context_manager zarr/tests/test_storage.py::TestABSStore::test_get_set_del_contains zarr/tests/test_storage.py::TestABSStore::test_set_invalid_content zarr/tests/test_storage.py::TestABSStore::test_clear zarr/tests/test_storage.py::TestABSStore::test_pop zarr/tests/test_storage.py::TestABSStore::test_popitem zarr/tests/test_storage.py::TestABSStore::test_writeable_values zarr/tests/test_storage.py::TestABSStore::test_update zarr/tests/test_storage.py::TestABSStore::test_iterators zarr/tests/test_storage.py::TestABSStore::test_init_array zarr/tests/test_storage.py::TestABSStore::test_init_array_overwrite zarr/tests/test_storage.py::TestABSStore::test_init_array_overwrite_path zarr/tests/test_storage.py::TestABSStore::test_init_array_overwrite_chunk_store zarr/tests/test_storage.py::TestABSStore::test_init_group_overwrite zarr/tests/test_storage.py::TestABSStore::test_init_group_overwrite_path zarr/tests/test_storage.py::TestABSStore::test_init_group_overwrite_chunk_store zarr/tests/test_storage.py::TestABSStore::test_init_array_path zarr/tests/test_storage.py::TestABSStore::test_init_array_overwrite_group zarr/tests/test_storage.py::TestABSStore::test_init_array_compat zarr/tests/test_storage.py::TestABSStore::test_init_group zarr/tests/test_storage.py::TestABSStore::test_non_client_deprecated zarr/tests/test_storage.py::TestABSStore::test_iterators_with_prefix zarr/tests/test_storage.py::TestABSStore::test_getsize zarr/tests/test_storage.py::TestABSStore::test_hierarchy zarr/tests/test_storage.py::TestABSStore::test_pickle zarr/tests/test_storage_v3.py::TestABSStoreV3::test_context_manager zarr/tests/test_storage_v3.py::TestABSStoreV3::test_get_set_del_contains zarr/tests/test_storage_v3.py::TestABSStoreV3::test_set_invalid_content zarr/tests/test_storage_v3.py::TestABSStoreV3::test_clear zarr/tests/test_storage_v3.py::TestABSStoreV3::test_pop zarr/tests/test_storage_v3.py::TestABSStoreV3::test_popitem zarr/tests/test_storage_v3.py::TestABSStoreV3::test_writeable_values zarr/tests/test_storage_v3.py::TestABSStoreV3::test_update zarr/tests/test_storage_v3.py::TestABSStoreV3::test_iterators zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_array zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_array_overwrite zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_array_overwrite_path zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_array_overwrite_chunk_store zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_group_overwrite_path zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_array_path zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_array_overwrite_group zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_array_compat zarr/tests/test_storage_v3.py::TestABSStoreV3::test_init_group zarr/tests/test_storage_v3.py::TestABSStoreV3::test_list_prefix zarr/tests/test_storage_v3.py::TestABSStoreV3::test_equal zarr/tests/test_storage_v3.py::TestABSStoreV3::test_rename_nonexisting zarr/tests/test_storage_v3.py::TestABSStoreV3::test_get_partial_values zarr/tests/test_storage_v3.py::TestABSStoreV3::test_set_partial_values zarr/tests/test_storage_v3.py::TestABSStoreV3::test_non_client_deprecated zarr/tests/test_storage_v3.py::TestABSStoreV3::test_iterators_with_prefix zarr/tests/test_storage_v3.py::TestABSStoreV3::test_getsize zarr/tests/test_storage_v3.py::TestABSStoreV3::test_hierarchy zarr/tests/test_storage_v3.py::TestABSStoreV3::test_pickle ) python_install_all() { if use examples; then docompress -x "/usr/share/doc/${PF}/notebooks" docinto notebooks dodoc -r notebooks/. fi distutils-r1_python_install_all } python_test() { ZARR_TEST_ABS=1 ZARR_TEST_MONGO=1 ZARR_TEST_REDIS=1 \ ZARR_V3_EXPERIMENTAL_API=1 ZARR_V3_SHARDING=1 epytest }