dropbox/stone

Replace deprecated imp module with importlib

hugovk opened this issue · 2 comments

Describe the bug

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.

To Reproduce

git grep "\bimp\b"

Expected Behavior

Works on Python 3.12.

Actual Behavior

Will fail due to removed imp module.

Additional context
Add any other context about the problem here.

import imp # pylint: disable=deprecated-module

api = imp.load_source('api', args.api[0]).api # pylint: disable=redefined-outer-name

backend_module = imp.load_source('user_backend', args.backend)

Thanks! I'll ask the team to update this.

The use of imp has been replaced with importlib in #307.