Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Only use importlib.resources's new files() / Traversable API on Pytho…
…n ≥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
- Loading branch information