Skip to content

replay DEP: de-duplicate and sort optional dependencies (#2021)#2031

Draft
neutrinoceros wants to merge 3 commits intofsspec:masterfrom
neutrinoceros:revert-2026-rev
Draft

replay DEP: de-duplicate and sort optional dependencies (#2021)#2031
neutrinoceros wants to merge 3 commits intofsspec:masterfrom
neutrinoceros:revert-2026-rev

Conversation

@neutrinoceros
Copy link
Copy Markdown
Contributor

Reverts the revert PR #2026

I'm opening as a draft to try and experiment with a remediation strategy

@neutrinoceros
Copy link
Copy Markdown
Contributor Author

neutrinoceros commented May 3, 2026

One unexpected (to me) detail that seems extremely important here: the 2026.4.0 tag for this repo doesn't appear to be a parent of the current master branch, which makes the dynamic version I get 2026.3.0+... (which is incorrect), and this violates gcsfs's requirement on fsspec>=2026.4.0. I rebased this branch onto the 2026.4.0 tag, but now I'm seeing another resolution error with s3fs.

@neutrinoceros
Copy link
Copy Markdown
Contributor Author

fsspec/s3fs#1023 contains the fix to the remaining issue. I checked the patch locally with uv a path dependency (uv add --optional s3 ../s3fs) that, combined with having the 2026.4.0 tag as a parent, and this patch, actually fixes all resolution errors I'm aware of. I'll push a temporary patch to the same here for demonstration purposes.

@neutrinoceros
Copy link
Copy Markdown
Contributor Author

I'll push a temporary patch to the same here for demonstration purposes.

scratch that. pip supports dependencies specified as github repos via requirements.txt, but apparently not from pyproject.toml (which makes sense since this isn't a standard)

@martindurant
Copy link
Copy Markdown
Member

the 2026.4.0 tag for this repo doesn't appear to be a parent of the current master branch

This at least I have fixed. Something happened to the merge commit, I don't know where github put it - should be right now. Perhaps related to the PR metadata issues github was having last week.

@neutrinoceros
Copy link
Copy Markdown
Contributor Author

Great ! I was worried this was a deliberate practice that was also completely foreign to me. Just curious, how did you fix it ?

It would probably require a new release of s3fs including my patch, but otherwise I think this should be stable now (no rush).

I should let you know btw, my end goal would be to add missing lower bounds on fsspec's requirements, so that packages requiring it (including but not limited to astropy) could reliably test against oldest supported version of all their dependencies (including transitive ones). In order to achieve this in a reliable way, I'd also need to add a job to exercise envs resolved to oldest versions here, which is only convenient to do with uv instead of pip. Is this something you'd be interested in ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants