quantplay 2.0.71__tar.gz → 2.0.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.0.71 → quantplay-2.0.73}/PKG-INFO +1 -26
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/aliceblue.py +2 -2
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/angelone.py +3 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/auto_login/aliceblue.py +1 -1
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/broker_factory.py +0 -2
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/generics/broker.py +1 -1
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/kite_utils.py +1 -1
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/motilal.py +2 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/uplink/uplink_utils.py +1 -1
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts.py +1 -1
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/generics.py +1 -3
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/__init__.py +1 -2
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/PKG-INFO +1 -26
- {quantplay-2.0.71 → quantplay-2.0.73}/setup.py +1 -1
- {quantplay-2.0.71 → quantplay-2.0.73}/README.md +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/pyproject.toml +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/auto_login/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/dhan.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/finvasia_utils/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/finvasia_utils/fa_noren.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/five_paisa.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/flattrade.py +1 -1
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/ft_utils/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/ft_utils/flattrade_utils.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/ft_utils/ft_noren.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/generics/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/iifl_xts.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/kotak.py +4 -4
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/noren.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/shoonya.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/uplink/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/upstox.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts_utils/Connect.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts_utils/Exception.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts_utils/InteractiveSocketClient.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts_utils/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/zerodha.py +1 -1
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/exception/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/exception/exceptions.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/broker.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/instrument_data.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/order_event.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/py.typed +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/caching.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/constant.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/exchange.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/number_utils.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/pickle_utils.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/selenium_utils.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/wrapper/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/wrapper/aws/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/wrapper/aws/s3.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/SOURCES.txt +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/dependency_links.txt +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/requires.txt +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/top_level.txt +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/setup.cfg +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/tests/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/tests/conftest.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/tests/wrapper/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/tests/wrapper/aws/__init__.py +0 -0
- {quantplay-2.0.71 → quantplay-2.0.73}/tests/wrapper/aws/s3_test.py +0 -0
|
@@ -1,36 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: quantplay
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.73
|
|
4
4
|
Summary: This python package will be stored in AWS CodeArtifact
|
|
5
5
|
Home-page:
|
|
6
6
|
Author:
|
|
7
7
|
Author-email:
|
|
8
8
|
License: MIT
|
|
9
|
-
Requires-Dist: setuptools
|
|
10
|
-
Requires-Dist: path
|
|
11
|
-
Requires-Dist: pyotp
|
|
12
|
-
Requires-Dist: retrying
|
|
13
|
-
Requires-Dist: boto3
|
|
14
|
-
Requires-Dist: numpy
|
|
15
|
-
Requires-Dist: websocket-client
|
|
16
|
-
Requires-Dist: smartapi-python
|
|
17
|
-
Requires-Dist: logzero
|
|
18
|
-
Requires-Dist: selenium
|
|
19
|
-
Requires-Dist: requests
|
|
20
|
-
Requires-Dist: pandas
|
|
21
|
-
Requires-Dist: pyarrow
|
|
22
|
-
Requires-Dist: polars
|
|
23
|
-
Requires-Dist: kiteconnect
|
|
24
|
-
Requires-Dist: pya3
|
|
25
|
-
Requires-Dist: py5paisa
|
|
26
|
-
Requires-Dist: upstox-python-sdk
|
|
27
|
-
Requires-Dist: undetected-chromedriver
|
|
28
|
-
Requires-Dist: cachetools
|
|
29
|
-
Requires-Dist: py_vollib
|
|
30
|
-
Requires-Dist: python-engineio
|
|
31
|
-
Requires-Dist: python-socketio
|
|
32
|
-
Requires-Dist: six
|
|
33
|
-
Requires-Dist: dhanhq
|
|
34
9
|
|
|
35
10
|
# Quantplay Alpha playground
|
|
36
11
|
|
|
@@ -234,7 +234,7 @@ class Aliceblue(Broker):
|
|
|
234
234
|
Constants.logger.info(f"[PLACE_ORDER_RESPONSE] {response}")
|
|
235
235
|
return response["NOrdNo"]
|
|
236
236
|
except Exception as e:
|
|
237
|
-
|
|
237
|
+
traceback.print_exc()
|
|
238
238
|
exception_message = f"Order placement failed [{str(e)}]"
|
|
239
239
|
raise QuantplayOrderPlacementException(exception_message)
|
|
240
240
|
|
|
@@ -307,7 +307,7 @@ class Aliceblue(Broker):
|
|
|
307
307
|
)
|
|
308
308
|
logger.info(f"[MODIFY_ORDER_RESPONSE] [{order_id}] response [{response}]")
|
|
309
309
|
except Exception as e:
|
|
310
|
-
|
|
310
|
+
traceback.print_exc()
|
|
311
311
|
Constants.logger.error(
|
|
312
312
|
f"[MODIFY_ORDER_FAILED] {data} with exception {str(e)}"
|
|
313
313
|
)
|
|
@@ -5,6 +5,7 @@ import traceback
|
|
|
5
5
|
from queue import Queue
|
|
6
6
|
from typing import Any, Dict
|
|
7
7
|
|
|
8
|
+
import logzero # type: ignore
|
|
8
9
|
import polars as pl
|
|
9
10
|
import pyotp
|
|
10
11
|
from requests.exceptions import ConnectionError, ConnectTimeout
|
|
@@ -35,6 +36,8 @@ from quantplay.utils.exchange import Market as MarketConstants
|
|
|
35
36
|
from quantplay.utils.pickle_utils import InstrumentData
|
|
36
37
|
from quantplay.wrapper.aws.s3 import S3Utils
|
|
37
38
|
|
|
39
|
+
logzero.logger.disabled = True
|
|
40
|
+
|
|
38
41
|
|
|
39
42
|
class AngelOne(Broker):
|
|
40
43
|
order_sl = "STOPLOSS_LIMIT"
|
|
@@ -5,7 +5,6 @@ import traceback
|
|
|
5
5
|
from dataclasses import dataclass
|
|
6
6
|
from typing import Any, Dict
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
from quantplay.broker.aliceblue import Aliceblue
|
|
10
9
|
from quantplay.broker.angelone import AngelOne
|
|
11
10
|
from quantplay.broker.dhan import Dhan
|
|
@@ -21,7 +20,6 @@ from quantplay.exception.exceptions import InvalidArgumentException, TokenExcept
|
|
|
21
20
|
from quantplay.utils.caching import InstrumentCache
|
|
22
21
|
from quantplay.utils.pickle_utils import PickleUtils
|
|
23
22
|
|
|
24
|
-
|
|
25
23
|
BrokerType = (
|
|
26
24
|
Aliceblue
|
|
27
25
|
| AngelOne
|
|
@@ -619,7 +619,7 @@ class Broker(ABC):
|
|
|
619
619
|
self.order_log[order_id] = copy.deepcopy(order)
|
|
620
620
|
time.sleep(3)
|
|
621
621
|
except Exception:
|
|
622
|
-
|
|
622
|
+
traceback.print_exc()
|
|
623
623
|
print(f"Unable to process order stream for {self.user_id}")
|
|
624
624
|
time.sleep(5)
|
|
625
625
|
|
|
@@ -194,12 +194,14 @@ class Motilal(Broker):
|
|
|
194
194
|
return exchange
|
|
195
195
|
|
|
196
196
|
def get_product(self, product: ProductType):
|
|
197
|
+
# TODO: Use Maps Instead
|
|
197
198
|
if product == "CNC":
|
|
198
199
|
return "DELIVERY"
|
|
199
200
|
elif product == "NRML":
|
|
200
201
|
return "NORMAL"
|
|
201
202
|
elif product == "MIS":
|
|
202
203
|
return "NORMAL"
|
|
204
|
+
|
|
203
205
|
return product
|
|
204
206
|
|
|
205
207
|
def place_order_quantity(
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
from .constant import Constants, LoggerUtils, OrderStatus, OrderType
|
|
2
2
|
from .number_utils import NumberUtils
|
|
3
|
-
from .pickle_utils import
|
|
3
|
+
from .pickle_utils import InstrumentData, PickleUtils
|
|
4
4
|
from .selenium_utils import Selenium
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
__all__ = [
|
|
8
7
|
"Constants",
|
|
9
8
|
"LoggerUtils",
|
|
@@ -1,36 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: quantplay
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.73
|
|
4
4
|
Summary: This python package will be stored in AWS CodeArtifact
|
|
5
5
|
Home-page:
|
|
6
6
|
Author:
|
|
7
7
|
Author-email:
|
|
8
8
|
License: MIT
|
|
9
|
-
Requires-Dist: setuptools
|
|
10
|
-
Requires-Dist: path
|
|
11
|
-
Requires-Dist: pyotp
|
|
12
|
-
Requires-Dist: retrying
|
|
13
|
-
Requires-Dist: boto3
|
|
14
|
-
Requires-Dist: numpy
|
|
15
|
-
Requires-Dist: websocket-client
|
|
16
|
-
Requires-Dist: smartapi-python
|
|
17
|
-
Requires-Dist: logzero
|
|
18
|
-
Requires-Dist: selenium
|
|
19
|
-
Requires-Dist: requests
|
|
20
|
-
Requires-Dist: pandas
|
|
21
|
-
Requires-Dist: pyarrow
|
|
22
|
-
Requires-Dist: polars
|
|
23
|
-
Requires-Dist: kiteconnect
|
|
24
|
-
Requires-Dist: pya3
|
|
25
|
-
Requires-Dist: py5paisa
|
|
26
|
-
Requires-Dist: upstox-python-sdk
|
|
27
|
-
Requires-Dist: undetected-chromedriver
|
|
28
|
-
Requires-Dist: cachetools
|
|
29
|
-
Requires-Dist: py_vollib
|
|
30
|
-
Requires-Dist: python-engineio
|
|
31
|
-
Requires-Dist: python-socketio
|
|
32
|
-
Requires-Dist: six
|
|
33
|
-
Requires-Dist: dhanhq
|
|
34
9
|
|
|
35
10
|
# Quantplay Alpha playground
|
|
36
11
|
|
|
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
|
|
@@ -2,12 +2,12 @@ import binascii
|
|
|
2
2
|
import hashlib
|
|
3
3
|
from queue import Queue
|
|
4
4
|
|
|
5
|
-
from quantplay.exception import TokenException
|
|
6
5
|
import requests
|
|
7
6
|
|
|
8
7
|
from quantplay.broker.ft_utils.flattrade_utils import FlatTradeUtils
|
|
9
8
|
from quantplay.broker.ft_utils.ft_noren import FT_NorenApi
|
|
10
9
|
from quantplay.broker.noren import Noren
|
|
10
|
+
from quantplay.exception import TokenException
|
|
11
11
|
from quantplay.exception.exceptions import RetryableException
|
|
12
12
|
from quantplay.model.order_event import OrderUpdateEvent
|
|
13
13
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import base64
|
|
1
2
|
import json
|
|
2
3
|
from queue import Queue
|
|
3
4
|
from typing import Any, Dict, Literal
|
|
5
|
+
from urllib.parse import urlencode
|
|
6
|
+
|
|
4
7
|
import polars as pl
|
|
5
8
|
import requests
|
|
9
|
+
|
|
6
10
|
from quantplay.broker.generics.broker import Broker
|
|
7
11
|
from quantplay.model.broker import ModifyOrderRequest, UserBrokerProfileResponse
|
|
8
12
|
from quantplay.model.generics import (
|
|
@@ -13,10 +17,6 @@ from quantplay.model.generics import (
|
|
|
13
17
|
)
|
|
14
18
|
from quantplay.model.order_event import OrderUpdateEvent
|
|
15
19
|
|
|
16
|
-
from urllib.parse import urlencode
|
|
17
|
-
|
|
18
|
-
import base64
|
|
19
|
-
|
|
20
20
|
PROD_BASE_URL = "https://gw-napi.kotaksecurities.com/"
|
|
21
21
|
SESSION_PROD_BASE_URL = "https://napi.kotaksecurities.com/"
|
|
22
22
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import codecs
|
|
2
2
|
import pickle
|
|
3
3
|
import traceback
|
|
4
|
-
from typing import Any, Callable, Dict, Hashable, List
|
|
5
4
|
from datetime import datetime
|
|
5
|
+
from typing import Any, Callable, Dict, Hashable, List
|
|
6
6
|
|
|
7
7
|
import polars as pl
|
|
8
8
|
from kiteconnect import KiteConnect, KiteTicker
|
|
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
|