quantplay 2.1.71__tar.gz → 2.1.73__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {quantplay-2.1.71 → quantplay-2.1.73}/PKG-INFO +1 -1
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/angelone.py +1 -1
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/kotak.py +8 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay.egg-info/PKG-INFO +1 -1
- {quantplay-2.1.71 → quantplay-2.1.73}/setup.py +1 -1
- {quantplay-2.1.71 → quantplay-2.1.73}/README.md +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/pyproject.toml +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/aliceblue.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/angelone_utils/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/angelone_utils/angeloneWS.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/auto_login/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/auto_login/aliceblue.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/breeze/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/breeze/breeze_utils.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/broker_factory.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/dhan.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/finvasia_utils/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/finvasia_utils/fa_noren.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/five_paisa.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/flattrade.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/ft_utils/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/ft_utils/flattrade_utils.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/ft_utils/ft_noren.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/generics/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/generics/broker.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/icici_direct.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/iifl_xts.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/jainam_xts.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/kite_utils.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/kotak_utils/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/kotak_utils/kotak_ws.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/kotak_utils/kotak_ws_lib.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/motilal.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/noren.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/shoonya.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/uplink/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/uplink/uplink_utils.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/upstox.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts_utils/Connect.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts_utils/Exception.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts_utils/InteractiveSocketClient.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts_utils/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts_utils_v2/ConnectV2.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts_utils_v2/InteractiveSocketClientV2.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts_utils_v2/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/zerodha.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/core/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/core/strategy.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/exception/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/exception/exceptions.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/indicator/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/indicator/iv.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/model/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/model/broker.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/model/broker_response.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/model/generics.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/model/instrument_data.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/model/order_event.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/py.typed +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/strategy/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/strategy/iv_spike.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/strategy/obuy.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/utils/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/utils/caching.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/utils/constant.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/utils/exchange.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/utils/number_utils.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/utils/pickle_utils.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/utils/selenium_utils.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/wrapper/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/wrapper/aws/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/wrapper/aws/s3.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay/wrapper/redis.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay.egg-info/SOURCES.txt +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay.egg-info/dependency_links.txt +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay.egg-info/requires.txt +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/quantplay.egg-info/top_level.txt +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/setup.cfg +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/tests/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/tests/conftest.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/tests/wrapper/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/tests/wrapper/aws/__init__.py +0 -0
- {quantplay-2.1.71 → quantplay-2.1.73}/tests/wrapper/aws/s3_test.py +0 -0
|
@@ -670,6 +670,6 @@ class AngelOne(Broker):
|
|
|
670
670
|
ws_client.on_message = self.handle_order_update
|
|
671
671
|
ws_client.connect()
|
|
672
672
|
|
|
673
|
-
def
|
|
673
|
+
def stream_order_data(self) -> None:
|
|
674
674
|
thread = threading.Thread(target=self.start_order_websocket, daemon=True)
|
|
675
675
|
thread.start()
|
|
@@ -10,6 +10,7 @@ import polars as pl
|
|
|
10
10
|
import pyotp
|
|
11
11
|
import requests
|
|
12
12
|
import shortuuid # type:ignore
|
|
13
|
+
from retrying import retry # type: ignore
|
|
13
14
|
|
|
14
15
|
from quantplay.broker.generics.broker import Broker
|
|
15
16
|
from quantplay.broker.kotak_utils.kotak_ws import NeoWebSocket
|
|
@@ -18,6 +19,7 @@ from quantplay.exception.exceptions import (
|
|
|
18
19
|
BrokerException,
|
|
19
20
|
InvalidArgumentException,
|
|
20
21
|
QuantplayOrderPlacementException,
|
|
22
|
+
retry_exception,
|
|
21
23
|
)
|
|
22
24
|
from quantplay.model.broker import (
|
|
23
25
|
MarginsResponse,
|
|
@@ -624,6 +626,12 @@ class Kotak(Broker):
|
|
|
624
626
|
def profile(self) -> UserBrokerProfileResponse:
|
|
625
627
|
return {"user_id": self.user_id or ""}
|
|
626
628
|
|
|
629
|
+
@retry(
|
|
630
|
+
wait_exponential_multiplier=3000,
|
|
631
|
+
wait_exponential_max=10000,
|
|
632
|
+
stop_max_attempt_number=2,
|
|
633
|
+
retry_on_exception=retry_exception,
|
|
634
|
+
)
|
|
627
635
|
def margins(self) -> MarginsResponse:
|
|
628
636
|
limits_resp = self.request(
|
|
629
637
|
"limits", body={"seg": "ALL", "exch": "ALL", "prod": "ALL"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quantplay-2.1.71 → quantplay-2.1.73}/quantplay/broker/xts_utils_v2/InteractiveSocketClientV2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|