-
-
Notifications
You must be signed in to change notification settings - Fork 366
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
| dependencies = [ | |
| 'asciitree', | |
| 'numpy>=1.25', | |
| 'fasteners', | |
| 'numcodecs>=0.10.2', | |
| 'fsspec>2024', | |
| 'crc32c', | |
| 'typing_extensions', | |
| 'donfig', | |
| ] |
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