* Replaced reference to typing_extensions with stdlib Literal.
(#323)
- Previous releases since 6.1.1
* Updated Traversable.read_text() to reflect the errors parameter
(python/cpython#127012). (#321)
* Add type annotations for Traversable.open. (#317)
* Require Python 3.9 or later.
* Omit sentinel values from a namespace path. (#311)
* When inferring the caller in files() correctly detect one’s own
module even when the resources package source is not present.
(gh#python/cpython#123085)
* Merged fix for UTF-16 BOM handling in functional tests. (#312)
* When constructing ZipReader, only append the name if the
indicated module is a package. (python/cpython#121735)
* The functions is_resource(), open_binary(), open_text(),
path(), read_binary(), and read_text() are un-deprecated, and
support subdirectories via multiple positional arguments. The
contents() function also allows subdirectories, but remains
deprecated. (#303)
* Deferred select imports in for a speedup
(python/cpython#109829).
* Restored expectation that local standard readers are preferred
over degenerate readers. (#298)
* Restored expectation that stdlib readers are suppressed on
Python 3.10. (#257)
* Add Anchor to importlib.resources (in order for the code to
comply with the documentation)
* Future compatibility adapters now ensure that standard library
readers are replaced without overriding non-standard readers.
(#295)
* Fixed NotADirectoryError when calling files on a subdirectory
of a namespace package. (#293)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-importlib-resources?expand=0&rev=28
- update to 6.1.1:
* Added missed stream argument in simple.ResourceHandle. Ref
python/cpython#111775.
* MultiplexedPath now expects Traversable paths. String
arguments to MultiplexedPath are now deprecated.
* Enabled support for resources in namespace packages in zip
files. (#287)
- Update to v5.10.1
* #259: files no longer requires the anchor to be specified and can infer the anchor from the caller's scope (defaults to the caller's module).
* bpo-41490: contents is now also more aggressive about consuming
* #110 and bpo-41490: path method is more aggressive about
releasing handles to zipfile objects early, enabling use-cases
like certifi to leave the context open but delete the
* Package no longer exposes importlib_resources.__version__.
Users that wish to inspect the version of importlib_resources
should instead invoke .version('importlib_resources') from
importlib-metadata ( stdlib or backport) directly. This change
* Select pathlib and contextlib imports based on Python version
* Loaders are no longer expected to implement the
abc.TraversableResources interface, but are instead expected to
return TraversableResources from their get_resource_reader
* Traversable is now a Protocol instead of an Abstract Base Class
* #79: Temporary files created will now reflect the filename of
* For improved compatibility, importlib_resources.trees is now
* Add extensibility support for non-standard loaders to supply
Traversable resources. Introduces a new abstract base class
abc.TraversableResources that supersedes (but implements for
compatibility) abc.ResourceReader. Any loader that implements
(implicitly or explicitly) the TraversableResources.files
OBS-URL: https://build.opensuse.org/request/show/1129224
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-importlib-resources?expand=0&rev=11
* Added missed stream argument in simple.ResourceHandle. Ref
python/cpython#111775.
* MultiplexedPath now expects Traversable paths. String
arguments to MultiplexedPath are now deprecated.
* Enabled support for resources in namespace packages in zip
files. (#287)
- Update to v5.10.1
* #259: files no longer requires the anchor to be specified and can infer the anchor from the caller's scope (defaults to the caller's module).
* bpo-41490: contents is now also more aggressive about consuming
* #110 and bpo-41490: path method is more aggressive about
releasing handles to zipfile objects early, enabling use-cases
like certifi to leave the context open but delete the
* Package no longer exposes importlib_resources.__version__.
Users that wish to inspect the version of importlib_resources
should instead invoke .version('importlib_resources') from
importlib-metadata ( stdlib or backport) directly. This change
* Select pathlib and contextlib imports based on Python version
* Loaders are no longer expected to implement the
abc.TraversableResources interface, but are instead expected to
return TraversableResources from their get_resource_reader
* Traversable is now a Protocol instead of an Abstract Base Class
* #79: Temporary files created will now reflect the filename of
* For improved compatibility, importlib_resources.trees is now
* Add extensibility support for non-standard loaders to supply
Traversable resources. Introduces a new abstract base class
abc.TraversableResources that supersedes (but implements for
compatibility) abc.ResourceReader. Any loader that implements
(implicitly or explicitly) the TraversableResources.files
method will be capable of supplying resources with subdirectory
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-importlib-resources?expand=0&rev=24
* importlib_resources (backport) now gives
precedence to built-in readers (file system, zip,
namespace packages), providing forward-compatibility
of behaviors like ``MultiplexedPath``.
* #280: Fixed one more ``EncodingWarning`` in test suite.
* #265: ``MultiplexedPath`` now honors multiple subdirectories
in ``iterdir`` and ``joinpath``.
* Packaging refresh, including fixing EncodingWarnings
and some tests cleanup.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-importlib-resources?expand=0&rev=19
- Update to v5.10.0
* #203: Lifted restriction on modules passed to files. Now modules need not be a package and if a non-package module is passed,
resources will be resolved adjacent to those modules, even for modules not found in any package. For example,
files(import_module('mod.py')) will resolve resources found at the root. The parameter to files was renamed from 'package' to 'anchor',
with a compatibility shim for those passing by keyword.
* #259: files no longer requires the anchor to be specified and can infer the anchor from the caller's scope (defaults to the caller's module).
OBS-URL: https://build.opensuse.org/request/show/1032011
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-importlib-resources?expand=0&rev=11
- Update to 5.9.0:
- #228: as_file now also supports a Traversable representing
a directory and (when needed) renders the full tree to a
temporary directory.
- #253: In MultiplexedPath, restore expectation that a compound
path with a non-existent directory does not raise an
exception.
- #250: Now Traversable.joinpath provides a concrete
implementation, replacing the implementation in .simple and
converging with the behavior in MultiplexedPath.
- #249: In simple.ResourceContainer.joinpath, honor names split
by posixpath.sep.
- #248: abc.Traversable.joinpath now allows for multiple
arguments and specifies that posixpath.sep is allowed
in any argument to accept multiple arguments, matching
the behavior found in zipfile.Path and pathlib.Path
simple.ResourceContainer now honors this behavior
- #244: Add type declarations in ABCs Require Python 3.7 or
later
- #243: Fix error when no __pycache__ directories exist when
testing update-zips.
- Remove BR on python-zipp to break a dependency cycle; it is
strictly not needed for build (although it is Requires),
because ZipReader is not tested.
OBS-URL: https://build.opensuse.org/request/show/1003114
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-importlib-resources?expand=0&rev=4
- #228: as_file now also supports a Traversable representing
a directory and (when needed) renders the full tree to a
temporary directory.
- #253: In MultiplexedPath, restore expectation that a compound
path with a non-existent directory does not raise an
exception.
- #250: Now Traversable.joinpath provides a concrete
implementation, replacing the implementation in .simple and
converging with the behavior in MultiplexedPath.
- #249: In simple.ResourceContainer.joinpath, honor names split
by posixpath.sep.
- #248: abc.Traversable.joinpath now allows for multiple
arguments and specifies that posixpath.sep is allowed
in any argument to accept multiple arguments, matching
the behavior found in zipfile.Path and pathlib.Path
simple.ResourceContainer now honors this behavior
- #244: Add type declarations in ABCs Require Python 3.7 or
later
- #243: Fix error when no __pycache__ directories exist when
testing update-zips.
- Remove BR on python-zipp to break a dependency cycle; it is
strictly not needed for build (although it is Requires),
because ZipReader is not tested.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-importlib-resources?expand=0&rev=9
- Update to 5.9.0:
* as_file now also supports a Traversable representing a directory and
(when needed) renders the full tree to a temporary directory.
* In MultiplexedPath, restore expectation that a compound path with a
non-existent directory does not raise an exception.
* Now Traversable.joinpath provides a concrete implementation, replacing
the implementation in .simple and converging with the behavior in
MultiplexedPath.
* abc.Traversable.joinpath now allows for multiple arguments and specifies
that posixpath.sep is allowed in any argument to accept multiple
arguments, matching the behavior found in zipfile.Path and pathlib.Path.
* Add type declarations in ABCs.
* Fix error when no __pycache__ directories exist when testing update-zips.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-importlib-resources?expand=0&rev=7
* Test suite now relies entirely on the traversable API.
* Now raise a ``DeprecationWarning`` for all legacy
functions. Instead, users should rely on the ``files()``
API introduced in importlib_resources 1.3. See
* Updated readme to reflect current behavior and show
which versions correspond to which behavior in CPython.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-importlib-resources?expand=0&rev=6
- Update to v5.2.2
* #234: Fix refleak in as_file caught by CPython tests.
- Release v5.2.1
* bpo-38291: Avoid DeprecationWarning on typing.io.
- Release v5.2.0
* #80 via #221: Legacy API (path, contents, ...) is now
supported entirely by the .files() API with a compatibility
shim supplied for resource loaders without that functionality.
- Release v5.0.6
* bpo-38693: Prefer f-strings to .format calls.
- Release v5.1.4
* #225: Require zipp 3.1.0 or later on Python prior to 3.10 to
incorporate those fixes.
- Release v5.0.5
* #216: Make MultiplexedPath.name a property per the spec.
- Release v5.1.3
* Refresh packaging and improve tests.
* #216: Make MultiplexedPath.name a property per the spec.
- Release v5.1.2
* Re-release with changes from 5.0.4.
- Release v5.0.4
* Fixed non-hermetic test in test_reader, revealed by GH-24670.
- Release v5.1.1
* Re-release with changes from 5.0.3.
- Release v5.0.3
* Simplified DegenerateFiles.Path.
- Release v5.0.2
* #214: Added _adapters module to ensure that degenerate files
behavior can be made available for legacy loaders whose
resource readers don't implement it. Fixes issue where
backport compatibility module was masking this fallback
behavior only to discover the defect when applying changes to
CPython.
- Release v5.1.0
* Added simple module implementing adapters from a low-level
resource reader interface to a TraversableResources interface.
Closes#90.
- Release v5.0.1
* Remove pyinstaller hook for hidden 'trees' module.
- Release v5.0.0
* Removed importlib_resources.trees, deprecated since 1.3.0.
- Release v4.1.1
* Fixed badges in README.
- Release v4.1.0
* #209: Adopt jaraco/skeleton.
* Cleaned up some straggling Python 2 compatibility code.
* Refreshed test zip files without .pyc and .pyo files.
- Release v4.0.0
* #108: Drop support for Python 2.7. Now requires Python 3.6+.
- Release v3.3.1
* Minor cleanup.
OBS-URL: https://build.opensuse.org/request/show/920302
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-importlib-resources?expand=0&rev=5