-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split optional dependencies in pyproject.toml #309
base: main
Are you sure you want to change the base?
Conversation
pyproject.toml
Outdated
all = [ | ||
"virtualizarr[all_readers]", | ||
"virtualizarr[icechunk]", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right now I don't think this can possibly work, because icechunk requires zarr-python v3 but kerchunk requires <3.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not without truly living on the bleeding edge 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure we should change the public pip install
to use some random branch...
Aside: Is there a reason you are using virtualizarr main
there? Would it be helpful to issue another release?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure we should change the public pip install to use some random branch...
sorry, I wasn't suggesting you should use that approach, but just was sharing for information about what is/isn't possible. I should've been more clear.
Aside: Is there a reason you are using virtualizarr main there? Would it be helpful to issue another release?
I wanted strict type hinting (#306)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
None of this is currently tested because the CI uses conda envs rather than pip to install deps. We could change that though (FYI @maxrjones).
However we don't really want one env and corresponding CI job for every single reader, it's fine to test them all at once, but that means we still wouldn't really be testing the ability to do pip install virtualizarr[netcdf3]
specifically for example.
Also @norlandrhagen fastparquet
is in the CI but doesn't seem to be used anywhere?
I could change the CI to use pip. I have been using uv a bit recently and it's been super promising for managing deps, but would be a bigger change. |
without much context, obligatory pixi endorsement comment |
I think the CI failure is because the mypy CI job is apparently the only one that uses pip to install currently |
I think it's a hidden requirement of using the Kerchunk parquet format. |
So does that mean we should have another writer split out in these dependencies? |
emerging from a rabbit hole (thanks @cisaacstern 😂) I'm floating around this decision framework for feedback:
More on topic, feel welcome to ping me if you'd like to assign any CI / packaging updates. |
Probably! Also, maybe for reading existing Kerchunk parquet refs. |
Does reading existing Kerchunk parquet refs require the same additional dependencies? If so we could have |
I just checked, both reading the writing of Kerchunk Parquet refs require |
In a633a0c I embedded the https://virtualizarr--309.org.readthedocs.build/en/309/installation.html |
Takes the splitting of optional dependencies idea started in #87 to its logical conclusion.
docs/releases.rst