As of setuptools 81.0.0, the pkg_resources API is deprecated and will be removed. This affects several packages in the Python ecosystem.
The Superset codebase has already migrated away from pkg_resources to the modern importlib.metadata API:
superset/db_engine_specs/__init__.py - Uses from importlib.metadata import entry_pointsSome third-party dependencies may still use pkg_resources. Monitor your dependency tree for packages that haven't migrated yet.
Pin setuptools to version 80.x to prevent breaking changes:
# requirements/base.in setuptools<81
This prevents the removal of pkg_resources while dependent packages are updated.
Update all dependencies to use importlib.metadata instead of pkg_resources:
Old (deprecated):
import pkg_resources version = pkg_resources.get_distribution("package_name").version entry_points = pkg_resources.iter_entry_points("group_name")
New (recommended):
from importlib.metadata import version, entry_points pkg_version = version("package_name") eps = entry_points(group="group_name")
importlib.metadataimportlib.metadata instead of pkg_resources