Fix deprecation warning in importlib.resources #2449
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
read_binary
was deprecated in 3.11: https://docs.python.org/3/library/importlib.resources.html#deprecated-functionsThe
files
API was added in 3.9, use it to implement reimplementread_binary
following documentation guidance, it's not exactly how the stdlib implements it but sinceinstantiate_template
only callsread_binary
with an explicit string it seems good enough.Ideally it would make sense for the
ViaTemplateActivator
to instantiate afiles
during initialisation, then just get the relevant resource from that, but that's a much larger API divergence, so seems easier this way unless a shim is implemented the other way around (that is an object with ajoinpath
/__truediv__
and aread_bytes
is implemented on top ofread_binary
for pre-3.9).Thanks for contributing, make sure you address all the checklists (for details on how see development documentation)!
tox -e fix_lint
)docs/changelog
folder