Skip to content

Commit 10e1959

Browse files
committed
release clients 2025_11_24
1 parent d26c38f commit 10e1959

File tree

68 files changed

+2522
-1046
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+2522
-1046
lines changed

clients/derivatives_trading_options/CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Changelog
22

3+
## 3.0.0 - 2025-11-24
4+
5+
### Changed (2)
6+
7+
#### REST API
8+
9+
- Renamed `symbol_price_ticker()` to `index_price_ticker()`.
10+
11+
#### WebSocket Streams
12+
13+
- Modified response for `trade_streams()` (`<symbol>@trade` method):
14+
- `t`: number -> string
15+
16+
317
## 2.0.0 - 2025-10-10
418

519
### Changed (9)
@@ -96,4 +110,4 @@
96110

97111
## 1.0.0 - 2025-07-17
98112

99-
- Initial release
113+
- Initial release

clients/derivatives_trading_options/examples/rest_api/MarketData/symbol_price_ticker.py renamed to clients/derivatives_trading_options/examples/rest_api/MarketData/index_price_ticker.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,18 @@
2222
client = DerivativesTradingOptions(config_rest_api=configuration_rest_api)
2323

2424

25-
def symbol_price_ticker():
25+
def index_price_ticker():
2626
try:
27-
response = client.rest_api.symbol_price_ticker(underlying="underlying_example")
27+
response = client.rest_api.index_price_ticker(underlying="underlying_example")
2828

2929
rate_limits = response.rate_limits
30-
logging.info(f"symbol_price_ticker() rate limits: {rate_limits}")
30+
logging.info(f"index_price_ticker() rate limits: {rate_limits}")
3131

3232
data = response.data()
33-
logging.info(f"symbol_price_ticker() response: {data}")
33+
logging.info(f"index_price_ticker() response: {data}")
3434
except Exception as e:
35-
logging.error(f"symbol_price_ticker() error: {e}")
35+
logging.error(f"index_price_ticker() error: {e}")
3636

3737

3838
if __name__ == "__main__":
39-
symbol_price_ticker()
39+
index_price_ticker()

clients/derivatives_trading_options/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "binance-sdk-derivatives-trading-options"
3-
version = "2.0.0"
3+
version = "3.0.0"
44
description = "Official Binance Derivatives Trading Options SDK - A lightweight library that provides a convenient interface to Binance's DerivativesTradingOptions REST API and WebSocket Streams."
55
authors = ["Binance"]
66
license = "MIT"

clients/derivatives_trading_options/src/binance_sdk_derivatives_trading_options/rest_api/api/market_data_api.py

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
from ..models import CheckServerTimeResponse
2020
from ..models import ExchangeInformationResponse
2121
from ..models import HistoricalExerciseRecordsResponse
22+
from ..models import IndexPriceTickerResponse
2223
from ..models import KlineCandlestickDataResponse
2324
from ..models import OldTradesLookupResponse
2425
from ..models import OpenInterestResponse
2526
from ..models import OptionMarkPriceResponse
2627
from ..models import OrderBookResponse
2728
from ..models import RecentBlockTradesListResponse
2829
from ..models import RecentTradesListResponse
29-
from ..models import SymbolPriceTickerResponse
3030

3131
from ..models import Ticker24hrPriceChangeStatisticsResponse
3232

@@ -161,6 +161,48 @@ def historical_exercise_records(
161161
response_model=HistoricalExerciseRecordsResponse,
162162
)
163163

164+
def index_price_ticker(
165+
self,
166+
underlying: Union[str, None],
167+
) -> ApiResponse[IndexPriceTickerResponse]:
168+
"""
169+
Index Price Ticker
170+
GET /eapi/v1/index
171+
https://developers.binance.com/docs/derivatives/option/market-data/Index-Price-Ticker
172+
173+
Get spot index price for option underlying.
174+
175+
Weight: 1
176+
177+
Args:
178+
underlying (Union[str, None]): Option underlying, e.g BTCUSDT
179+
180+
Returns:
181+
ApiResponse[IndexPriceTickerResponse]
182+
183+
Raises:
184+
RequiredError: If a required parameter is missing.
185+
186+
"""
187+
188+
if underlying is None:
189+
raise RequiredError(
190+
field="underlying",
191+
error_message="Missing required parameter 'underlying'",
192+
)
193+
194+
payload = {"underlying": underlying}
195+
196+
return send_request(
197+
self._session,
198+
self._configuration,
199+
method="GET",
200+
path="/eapi/v1/index",
201+
payload=payload,
202+
time_unit=self._configuration.time_unit,
203+
response_model=IndexPriceTickerResponse,
204+
)
205+
164206
def kline_candlestick_data(
165207
self,
166208
symbol: Union[str, None],
@@ -482,48 +524,6 @@ def recent_trades_list(
482524
response_model=RecentTradesListResponse,
483525
)
484526

485-
def symbol_price_ticker(
486-
self,
487-
underlying: Union[str, None],
488-
) -> ApiResponse[SymbolPriceTickerResponse]:
489-
"""
490-
Symbol Price Ticker
491-
GET /eapi/v1/index
492-
https://developers.binance.com/docs/derivatives/option/market-data/Symbol-Price-Ticker
493-
494-
Get spot index price for option underlying.
495-
496-
Weight: 1
497-
498-
Args:
499-
underlying (Union[str, None]): Option underlying, e.g BTCUSDT
500-
501-
Returns:
502-
ApiResponse[SymbolPriceTickerResponse]
503-
504-
Raises:
505-
RequiredError: If a required parameter is missing.
506-
507-
"""
508-
509-
if underlying is None:
510-
raise RequiredError(
511-
field="underlying",
512-
error_message="Missing required parameter 'underlying'",
513-
)
514-
515-
payload = {"underlying": underlying}
516-
517-
return send_request(
518-
self._session,
519-
self._configuration,
520-
method="GET",
521-
path="/eapi/v1/index",
522-
payload=payload,
523-
time_unit=self._configuration.time_unit,
524-
response_model=SymbolPriceTickerResponse,
525-
)
526-
527527
def test_connectivity(
528528
self,
529529
) -> ApiResponse[None]:

clients/derivatives_trading_options/src/binance_sdk_derivatives_trading_options/rest_api/api/trade_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ def cancel_multiple_option_orders(
213213
Cancel multiple orders.
214214
215215
* At least one instance of `orderId` and `clientOrderId` must be sent.
216+
* Max 10 orders can be deleted in one request
216217
217218
Weight: 1
218219

clients/derivatives_trading_options/src/binance_sdk_derivatives_trading_options/rest_api/models/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@
9898
from .historical_exercise_records_response_inner import (
9999
HistoricalExerciseRecordsResponseInner as HistoricalExerciseRecordsResponseInner,
100100
)
101+
from .index_price_ticker_response import (
102+
IndexPriceTickerResponse as IndexPriceTickerResponse,
103+
)
101104
from .kline_candlestick_data_response import (
102105
KlineCandlestickDataResponse as KlineCandlestickDataResponse,
103106
)
@@ -212,9 +215,6 @@
212215
from .start_user_data_stream_response import (
213216
StartUserDataStreamResponse as StartUserDataStreamResponse,
214217
)
215-
from .symbol_price_ticker_response import (
216-
SymbolPriceTickerResponse as SymbolPriceTickerResponse,
217-
)
218218
from .ticker24hr_price_change_statistics_response import (
219219
Ticker24hrPriceChangeStatisticsResponse as Ticker24hrPriceChangeStatisticsResponse,
220220
)

clients/derivatives_trading_options/src/binance_sdk_derivatives_trading_options/rest_api/models/symbol_price_ticker_response.py renamed to clients/derivatives_trading_options/src/binance_sdk_derivatives_trading_options/rest_api/models/index_price_ticker_response.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
from typing_extensions import Self
2323

2424

25-
class SymbolPriceTickerResponse(BaseModel):
25+
class IndexPriceTickerResponse(BaseModel):
2626
"""
27-
SymbolPriceTickerResponse
27+
IndexPriceTickerResponse
2828
""" # noqa: E501
2929

3030
time: Optional[StrictInt] = None
@@ -53,7 +53,7 @@ def is_array(cls) -> bool:
5353

5454
@classmethod
5555
def from_json(cls, json_str: str) -> Optional[Self]:
56-
"""Create an instance of SymbolPriceTickerResponse from a JSON string"""
56+
"""Create an instance of IndexPriceTickerResponse from a JSON string"""
5757
return cls.from_dict(json.loads(json_str))
5858

5959
def to_dict(self) -> Dict[str, Any]:
@@ -87,7 +87,7 @@ def to_dict(self) -> Dict[str, Any]:
8787

8888
@classmethod
8989
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
90-
"""Create an instance of SymbolPriceTickerResponse from a dict"""
90+
"""Create an instance of IndexPriceTickerResponse from a dict"""
9191
if obj is None:
9292
return None
9393

clients/derivatives_trading_options/src/binance_sdk_derivatives_trading_options/rest_api/rest_api.py

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@
2929
from .models import CheckServerTimeResponse
3030
from .models import ExchangeInformationResponse
3131
from .models import HistoricalExerciseRecordsResponse
32+
from .models import IndexPriceTickerResponse
3233
from .models import KlineCandlestickDataResponse
3334
from .models import OldTradesLookupResponse
3435
from .models import OpenInterestResponse
3536
from .models import OptionMarkPriceResponse
3637
from .models import OrderBookResponse
3738
from .models import RecentBlockTradesListResponse
3839
from .models import RecentTradesListResponse
39-
from .models import SymbolPriceTickerResponse
4040

4141
from .models import Ticker24hrPriceChangeStatisticsResponse
4242
from .models import AcceptBlockTradeOrderResponse
@@ -377,6 +377,30 @@ def historical_exercise_records(
377377
underlying, start_time, end_time, limit
378378
)
379379

380+
def index_price_ticker(
381+
self,
382+
underlying: Union[str, None],
383+
) -> ApiResponse[IndexPriceTickerResponse]:
384+
"""
385+
Index Price Ticker
386+
387+
Get spot index price for option underlying.
388+
389+
Weight: 1
390+
391+
Args:
392+
underlying (Union[str, None]): Option underlying, e.g BTCUSDT
393+
394+
Returns:
395+
ApiResponse[IndexPriceTickerResponse]
396+
397+
Raises:
398+
RequiredError: If a required parameter is missing.
399+
400+
"""
401+
402+
return self._marketDataApi.index_price_ticker(underlying)
403+
380404
def kline_candlestick_data(
381405
self,
382406
symbol: Union[str, None],
@@ -575,30 +599,6 @@ def recent_trades_list(
575599

576600
return self._marketDataApi.recent_trades_list(symbol, limit)
577601

578-
def symbol_price_ticker(
579-
self,
580-
underlying: Union[str, None],
581-
) -> ApiResponse[SymbolPriceTickerResponse]:
582-
"""
583-
Symbol Price Ticker
584-
585-
Get spot index price for option underlying.
586-
587-
Weight: 1
588-
589-
Args:
590-
underlying (Union[str, None]): Option underlying, e.g BTCUSDT
591-
592-
Returns:
593-
ApiResponse[SymbolPriceTickerResponse]
594-
595-
Raises:
596-
RequiredError: If a required parameter is missing.
597-
598-
"""
599-
600-
return self._marketDataApi.symbol_price_ticker(underlying)
601-
602602
def test_connectivity(
603603
self,
604604
) -> ApiResponse[None]:
@@ -1152,6 +1152,7 @@ def cancel_multiple_option_orders(
11521152
Cancel multiple orders.
11531153
11541154
* At least one instance of `orderId` and `clientOrderId` must be sent.
1155+
* Max 10 orders can be deleted in one request
11551156
11561157
Weight: 1
11571158

clients/derivatives_trading_options/src/binance_sdk_derivatives_trading_options/websocket_streams/models/trade_streams_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class TradeStreamsResponse(BaseModel):
3030
e: Optional[StrictStr] = None
3131
E: Optional[StrictInt] = Field(default=None, alias="E")
3232
s: Optional[StrictStr] = None
33-
t: Optional[StrictInt] = None
33+
t: Optional[StrictStr] = None
3434
p: Optional[StrictStr] = None
3535
q: Optional[StrictStr] = None
3636
b: Optional[StrictInt] = None

0 commit comments

Comments
 (0)