Idiomatic way in Python to indicate an unused module import is intentional

582 Views Asked by At

Sometimes a Python module import that appears to be unused, is in fact essential to the proper functioning of the program. Having seemingly unused imports gives rise to spurious messages from tools like PyFlakes, and can attract unwarranted attention from overzealous programmers. C++, for instance, has (since C++ 11) an idiomatic way to indicate this with the [[unused]] attribute (and [[maybe_unused]] since C++ 17).

I'm asking this question in particular in the context of web frameworks like Flask, where this is often the case. For example, this boilerplate code from a Flask application, which is essential for proper its function:

from app import auth_routes, app, db
from app.resources import api

I usually handle this situation by

import X
assert X is not None # Explanatory comment

Is there a way that's more explicit about intent and more "Pythonic" to accomplish this?

1

There are 1 best solutions below

3
Sagar Gupta On

Every tool will have its own way of error-suppression. For instance:

Pylint:

import X  # pylint: disable=unused-import

Pyflakes:

import X  # NOQA

PyCharm:

# noinspection PyUnresolvedReferences
import X