You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Only use importlib.resources's new files() / Traversable API on Python ≥3.11 (#204)
Using importlib.resource's files() API on 3.9 and 3.10 causes a
TypeError on 3.9 and a ValueError on 3.10 when running under a
third-party meta path importer (like PyOxidizer's OxidizedImporter) that
doesn't support the relatively-new API. This is because the full
adapter layer (importlib.resources._adapters) for the older importlib
resources API doesn't exist until Python 3.11.
The older resources API is now used by 3.7–3.10, as it was prior to the
certifi 2022.06.15.1 release. This codepath has existed in certifi
since April 2020 (3fc8fec).
An alternative to this change would be testing the actual importer in
use at runtime (e.g. certifi.__loader__) for files() support, but that
seemed more complex than reverting to the previous codepath here.
Resolves: #203
Related-to: #199
Related-to: #123
0 commit comments