crs4 / pydoop

A Python MapReduce and HDFS API for Hadoop
Apache License 2.0
237 stars 59 forks source link

Replace deprecated imp module with importlib #371

Open hugovk opened 1 year ago

hugovk commented 1 year ago

This project's tests use 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.

simleo commented 1 year ago

Hi. This project has not been actively maintained for years. Would you be willing to work on a pull request for this? A GitHub Actions setup to run the tests would also be needed -- the old Travis CI setup most likely does not work anymore

hugovk commented 1 year ago

Hi! I won't as I'm not using pydoop myself, rather wanting to inform projects of this upcoming change. The good news is that imp is used in the tests here, not the production code, so this shouldn't prevent things working on 3.12 👍

❯ rg "\bimp\b"
pydoop/test_utils.py
28:import imp
157:    fp, pathname, description = imp.find_module(name, path)
159:        module = imp.load_module(name, fp, pathname, description)

test/common/test_pydoop.py
27:from imp import reload