Repository navigation
DEX-2184: warn once at startup and mark the package deprecated on PyPI - #213
Merged
Merged
Conversation
The SDK reaches end-of-life on November 1, 2026. - FireblocksSDK prints a one-time FutureWarning pointing at the fireblocks package, silenced by FIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNING. It is a FutureWarning rather than a DeprecationWarning because Python hides DeprecationWarning raised inside an imported library by default. - The README opens with a deprecation banner, and long_description now reads README.md, so the banner appears on the PyPI project page. It was a hardcoded one-line string before, so the README never reached PyPI. - The PyPI summary starts with DEPRECATED, and the Development Status classifier is now 7 - Inactive.
YoavBZ
approved these changes
Oct 4, 2026
asafs932
approved these changes
Oct 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
FireblocksSDK.__init__emits a one-timeFutureWarning: the SDK is deprecated, it reaches end-of-life on November 1, 2026, and users should migrate to thefireblockspackage, with the migration guide link. It fires once per process, andFIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNINGturns it off, using the same variable as the JS SDK.FireblocksNCWtakes aFireblocksSDK, so it's covered too.fireblocks.setup.py:long_descriptionnow readsREADME.md. It used to be the hardcoded string"Fireblocks python SDK", so the README never reached the PyPI page, and the banner couldn't have appeared there.description) now starts with "DEPRECATED — use the fireblocks package instead". It shows in PyPI search results andpip show.Development Status :: 5 - Production/Stableto7 - Inactive.Reviewer note:
FutureWarning, notDeprecationWarningDEX-2184 specifies
DeprecationWarning. That's deliberate here: Python's default filters hide aDeprecationWarningraised inside an imported library (PEP 565), so most users would never see it. Python's docs recommendFutureWarningfor deprecations aimed at an application's users, and it shows by default.Tested
python -m buildsucceeds, with the same warnings as onmaster. The README is in the sdist.twine checkpasses, so the README renders on PyPI.7 - Inactiveclassifier and the banner.bumpversion --dry-runstill finds the version strings insetup.py, so the release workflow is unaffected.FutureWarningappeared with default filters, and none with the env var set.🤖 Generated with Claude Code