Skip to content

fix: replace deprecated pkg_resources with pkgutil.extend_path#124

Open
cortexuvula wants to merge 1 commit into
larksuite:v2_mainfrom
cortexuvula:fix/pkg_resources-deprecation
Open

fix: replace deprecated pkg_resources with pkgutil.extend_path#124
cortexuvula wants to merge 1 commit into
larksuite:v2_mainfrom
cortexuvula:fix/pkg_resources-deprecation

Conversation

@cortexuvula
Copy link
Copy Markdown

Problem

The lark_oapi/ws/pb/google/__init__.py file triggers a deprecation warning on every import:

UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30.

Solution

Replace pkg_resources.declare_namespace() with pkgutil.extend_path() directly.

The original code already used pkgutil.extend_path as a fallback when pkg_resources wasn't installed, so this change is functionally equivalent — just removes the deprecated path entirely.

Impact

  • No behavior change — pkgutil.extend_path serves the same namespace package purpose
  • Eliminates the deprecation warning for all users on setuptools ≥81
  • Future-proofs against pkg_resources removal

Use pkgutil.extend_path directly instead of pkg_resources.declare_namespace
to eliminate the pkg_resources deprecation warning:

  pkg_resources is deprecated as an API. See
  https://setuptools.pypa.io/en/latest/pkg_resources.html.
  The pkg_resources package is slated for removal as early as 2025-11-30.

The original code already used pkgutil.extend_path as a fallback for when
pkg_resources wasn't available, so this is functionally equivalent.
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Andre Hugo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

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 this pull request may close these issues.

2 participants