Skip to content

Conversation

@victorlin
Copy link
Member

@victorlin victorlin commented Dec 31, 2025

Description of proposed changes

This PR improves dependency declarations for fsspec, boto3, and wrapt. See commits for details.

Related issue(s)

Closes #496

Checklist

  • Checks pass
  • Update changelog

@victorlin victorlin self-assigned this Dec 31, 2025
fsspec was initially added without the [s3] extra due to its recent
addition.¹ It's been around for nearly 5 years now, so it should be safe.

In addition, the boto3 dependency can be resolved without issues by
newer versions of pip. Our minimum pip version target is whatever is
bundled with Python 3.8, checked via CI.

¹ "Declare dependency on s3fs since we use fsspec's S3 support" (d1e54c3)
Version 1 was implicitly resolved with the s3fs[boto3] pin removed in
the previous commit. It must be explicitly pinned since version 2
affects usage in two ways:

1. It renames ObjectProxy to BaseObjectProxy.
2. It adds type stubs, but only for Python >=3.10. Since Pyright is
   configured to target 3.8, it would error with v2 upon finding a stubs
   file without a type definition for the import.

https://wrapt.readthedocs.io/en/latest/changes.html#version-2-0-0
Version 2 renames ObjectProxy to BaseObjectProxy. It also adds a type
stubs file, but only defines types for Python >=3.10. Since Pyright is
configured to target 3.8, a comment is added to ignore the error caused
by lack of type definitions.

https://wrapt.readthedocs.io/en/latest/changes.html#version-2-0-0
@victorlin victorlin force-pushed the victorlin/update-dependencies branch from b0e88ba to a4fea46 Compare December 31, 2025 01:59
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.

Revisit fsspec/boto3 dependency declarations

2 participants