Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# The Official Python SDK for Fireblocks API
[![PyPI version](https://badge.fury.io/py/fireblocks-sdk.svg)](https://badge.fury.io/py/fireblocks-sdk)

> **⚠️ This package is deprecated.**
>
> `fireblocks-sdk` is deprecated and reaches **end-of-life on November 1, 2026** — no further updates or fixes will be released after that date.
>
> Existing installs continue to work, and this package will never be unpublished or yanked.
>
> Migrate to the [`fireblocks`](https://pypi.org/project/fireblocks/) package — see the [SDK Migration Guide](https://developers.fireblocks.com/reference/sdk-migration-guide).
>
> To silence the startup warning, set `FIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNING=1`.

## About
This repository contains the official Python SDK for Fireblocks API.
For the complete API reference, go to the [API reference](https://developers.fireblocks.com/).
Expand Down
18 changes: 18 additions & 0 deletions fireblocks_sdk/sdk.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import json
import os
import platform
import urllib
import warnings
from importlib.metadata import version
from operator import attrgetter
from typing import Any, Dict, Optional, List
Expand Down Expand Up @@ -97,6 +99,17 @@ def handle_response(response, page_mode=False):
return response_data


# FutureWarning, not DeprecationWarning: Python hides DeprecationWarning raised from
# inside an imported library by default, so users would never see it.
_DEPRECATION_WARNING = (
"fireblocks-sdk is deprecated and reaches end-of-life on November 1, 2026: "
"no further updates or fixes after that date. Existing installs continue to work. "
"Migrate to the fireblocks package: https://developers.fireblocks.com/reference/sdk-migration-guide "
"(set FIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNING=1 to silence this warning)"
)
_deprecation_warning_shown = False


class FireblocksSDK:
def __init__(
self,
Expand Down Expand Up @@ -124,6 +137,11 @@ def __init__(
Raises:
ValueError: if connection_idle_timeout_sec exceeds MAX_IDLE_TIMEOUT_SECONDS.
"""
global _deprecation_warning_shown
if not _deprecation_warning_shown and not os.environ.get("FIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNING"):
_deprecation_warning_shown = True
warnings.warn(_DEPRECATION_WARNING, FutureWarning, stacklevel=2)

self.private_key = private_key
self.api_key = api_key
self.base_url = api_base_url
Expand Down
8 changes: 5 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
from distutils.core import setup
from pathlib import Path

setup(
name = 'fireblocks_sdk',
packages = ['fireblocks_sdk'],
version = '2.18.0',
license='MIT',
description = 'Fireblocks python SDK',
long_description="""Fireblocks python SDK""",
description = 'DEPRECATED — use the fireblocks package instead. Legacy Fireblocks python SDK, end-of-life November 1, 2026',
long_description=(Path(__file__).parent / 'README.md').read_text(encoding='utf-8'),
long_description_content_type='text/markdown',
url = 'https://github.com/fireblocks/fireblocks-sdk-py',
download_url = 'https://github.com/fireblocks/fireblocks-sdk-py/archive/v2.18.0.tar.gz',
Expand All @@ -16,7 +18,7 @@
'requests>=2.22.0',
],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Development Status :: 7 - Inactive',
'Intended Audience :: Developers',
'Topic :: Software Development',
'License :: OSI Approved :: MIT License',
Expand Down
Loading