Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace deprecated imp module with importlib #75

Closed
hugovk opened this issue Apr 29, 2023 · 1 comment · Fixed by #76
Closed

Replace deprecated imp module with importlib #75

hugovk opened this issue Apr 29, 2023 · 1 comment · Fixed by #76

Comments

@hugovk
Copy link
Contributor

hugovk commented Apr 29, 2023

This project uses the imp module which has been deprecated since Python 3.4 and removed in 3.12:

Python 3.12 is set for release on 2023-10-02 and this library is one of the top 5,000 most-downloaded from PyPI.

Please could you upgrade to use importlib? The imp docs have suggestions on what to use to replace each function and constant.

cdent added a commit that referenced this issue Apr 30, 2023
imp is deprecated and will go away in Python 3.12 (which is very
soon).

This implementation based on the importlib docs [1] and passes
the quite robust tests that are already present for the urlparser
module. Unfortunately there's no good way to be 100% certain that
this works for all the many ways that Paste can do an import. So
this patch is mostly hoping that test coverage is sufficient.

[1] https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly

Fixes #75
@cdent
Copy link
Collaborator

cdent commented Apr 30, 2023

If you're able toggle #76 a review to confirm that I've adjusted things appropriately, that would be very helpful.

Thanks!

cdent added a commit that referenced this issue Apr 30, 2023
imp is deprecated and will go away in Python 3.12 (which is very
soon). The preferred replacement is importlib.

However, importlib is not available in Python 2.7, so we want
to keep both in order to maintain 2.7 some semblance of 2.7
support.

This implementation is based on the importlib docs [1] and passes
the quite robust tests that are already present for the urlparser
module. Unfortunately there's no good way to be 100% certain that
this works for all the many ways that Paste can do an import. So
this patch is mostly hoping that test coverage is sufficient.

[1] https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly

Fixes #75
@cdent cdent closed this as completed in #76 Apr 30, 2023
cdent added a commit that referenced this issue Apr 30, 2023
imp is deprecated and will go away in Python 3.12 (which is very
soon). The preferred replacement is importlib.

However, importlib is not available in Python 2.7, so we want
to keep both in order to maintain 2.7 some semblance of 2.7
support.

This implementation is based on the importlib docs [1] and passes
the quite robust tests that are already present for the urlparser
module. Unfortunately there's no good way to be 100% certain that
this works for all the many ways that Paste can do an import. So
this patch is mostly hoping that test coverage is sufficient.

[1] https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly

Fixes #75
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 a pull request may close this issue.

2 participants