Closed
Description
I'd like to open the conversation about what Zarr's core dependencies are for 3.0. Currently, this looks like:
Lines 25 to 34 in 1131253
Some of these are not used anymore (asciitree
and fasteners
) so those can safely go.
Then there is fsspec
and crc32c
. These are only needed for the RemoteStore
and ShardingCodec
, respectively. What do we think about making these optional?
One proposed diff in our dependencies would look something like:
dependencies = [
- 'asciitree',
'numpy>=1.25',
- 'fasteners',
- 'numcodecs>=0.10.2',
- 'fsspec>2024',
- 'crc32c',
+ 'numcodecs>=0.12',
'typing_extensions',
'donfig',
]
[project.optional-dependencies]
+remote = [
+ "fsspec",
+]
+sharding = [
+ "crc32c",
+]
Notes:
- fsspec is pure python with no dependencies so is not a particular heavy dependency.
- crc32c could potentially move into numcodecs, right?
Metadata
Metadata
Assignees
Labels
No labels