quantplay 2.0.60__tar.gz → 2.0.65__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.60 → quantplay-2.0.65}/PKG-INFO +1 -26
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/broker_factory.py +5 -5
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/five_paisa.py +3 -3
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/flattrade.py +3 -3
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/uplink/uplink_utils.py +2 -2
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay.egg-info/PKG-INFO +1 -26
- {quantplay-2.0.60 → quantplay-2.0.65}/setup.py +1 -1
- {quantplay-2.0.60 → quantplay-2.0.65}/README.md +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/pyproject.toml +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/aliceblue.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/angelone.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/auto_login/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/auto_login/aliceblue.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/dhan.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/finvasia_utils/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/finvasia_utils/fa_noren.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/ft_utils/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/ft_utils/flattrade_utils.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/ft_utils/ft_noren.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/generics/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/generics/broker.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/iifl_xts.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/kite_utils.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/kotak.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/motilal.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/noren.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/shoonya.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/uplink/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/upstox.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/xts.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/xts_utils/Connect.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/xts_utils/Exception.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/xts_utils/InteractiveSocketClient.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/xts_utils/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/broker/zerodha.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/exception/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/exception/exceptions.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/model/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/model/broker.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/model/generics.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/model/instrument_data.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/model/order_event.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/py.typed +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/utils/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/utils/caching.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/utils/constant.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/utils/exchange.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/utils/number_utils.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/utils/pickle_utils.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/utils/selenium_utils.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/wrapper/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/wrapper/aws/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay/wrapper/aws/s3.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay.egg-info/SOURCES.txt +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay.egg-info/dependency_links.txt +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay.egg-info/requires.txt +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/quantplay.egg-info/top_level.txt +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/setup.cfg +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/tests/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/tests/conftest.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/tests/wrapper/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/tests/wrapper/aws/__init__.py +0 -0
- {quantplay-2.0.60 → quantplay-2.0.65}/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.65
|
|
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
|
|
|
@@ -92,7 +92,7 @@ broker_required_args = {
|
|
|
92
92
|
|
|
93
93
|
broker_generate_args = {
|
|
94
94
|
Broker.ZERODHA: set(["user_id", "api_key", "api_secret"]),
|
|
95
|
-
Broker.FLATTRADE: set(["user_id" "api_secret", "password", "totp", "api_key"]),
|
|
95
|
+
Broker.FLATTRADE: set(["user_id", "api_secret", "password", "totp", "api_key"]),
|
|
96
96
|
Broker.IIFL_XTS: set(["api_key", "api_secret", "md_api_key", "md_api_secret"]),
|
|
97
97
|
Broker.MOTILAL: set(["user_id", "password", "api_key", "two_fa", "totp"]),
|
|
98
98
|
Broker.ALICEBLUE: set(["user_id", "api_key"]),
|
|
@@ -105,7 +105,7 @@ broker_generate_args = {
|
|
|
105
105
|
"user_key",
|
|
106
106
|
"encryption_key",
|
|
107
107
|
"client_id",
|
|
108
|
-
"
|
|
108
|
+
"totp",
|
|
109
109
|
"pin",
|
|
110
110
|
]
|
|
111
111
|
),
|
|
@@ -242,7 +242,7 @@ class BrokerFactory:
|
|
|
242
242
|
api_secret=broker_data["api_secret"],
|
|
243
243
|
imei=broker_data["imei"],
|
|
244
244
|
password=broker_data["password"],
|
|
245
|
-
totp=broker_data["
|
|
245
|
+
totp=broker_data["totp"],
|
|
246
246
|
user_id=broker_data["user_id"],
|
|
247
247
|
vendor_code=broker_data["vendor_code"],
|
|
248
248
|
load_instrument=False,
|
|
@@ -256,7 +256,7 @@ class BrokerFactory:
|
|
|
256
256
|
user_id=broker_data["user_id"],
|
|
257
257
|
api_secret=broker_data["api_secret"],
|
|
258
258
|
password=broker_data["password"],
|
|
259
|
-
totp=broker_data["
|
|
259
|
+
totp=broker_data["totp"],
|
|
260
260
|
api_key=broker_data["api_key"],
|
|
261
261
|
load_instrument=False,
|
|
262
262
|
)
|
|
@@ -272,7 +272,7 @@ class BrokerFactory:
|
|
|
272
272
|
user_key=broker_data["user_key"],
|
|
273
273
|
encryption_key=broker_data["encryption_key"],
|
|
274
274
|
client_id=broker_data["client_id"],
|
|
275
|
-
|
|
275
|
+
totp=broker_data["totp"],
|
|
276
276
|
pin=broker_data["pin"],
|
|
277
277
|
load_instrument=False,
|
|
278
278
|
)
|
|
@@ -43,7 +43,7 @@ class FivePaisa(Broker):
|
|
|
43
43
|
user_key: str | None = None,
|
|
44
44
|
encryption_key: str | None = None,
|
|
45
45
|
client_id: str | None = None,
|
|
46
|
-
|
|
46
|
+
totp: str | None = None,
|
|
47
47
|
pin: str | None = None,
|
|
48
48
|
client: str | None = None,
|
|
49
49
|
load_instrument: bool = True,
|
|
@@ -74,10 +74,10 @@ class FivePaisa(Broker):
|
|
|
74
74
|
)
|
|
75
75
|
self.user_key = user_key
|
|
76
76
|
|
|
77
|
-
if
|
|
77
|
+
if totp is None:
|
|
78
78
|
raise InvalidArgumentException("TOTP Key is Missing")
|
|
79
79
|
|
|
80
|
-
self.client.get_totp_session(client_id, pyotp.TOTP(
|
|
80
|
+
self.client.get_totp_session(client_id, pyotp.TOTP(totp).now(), pin)
|
|
81
81
|
|
|
82
82
|
try:
|
|
83
83
|
self.margins()
|
|
@@ -37,7 +37,7 @@ class FlatTrade(Noren):
|
|
|
37
37
|
token = self.login(
|
|
38
38
|
user_id=user_id,
|
|
39
39
|
password=password,
|
|
40
|
-
|
|
40
|
+
totp=totp,
|
|
41
41
|
api_key=api_key,
|
|
42
42
|
api_secret=api_secret,
|
|
43
43
|
)
|
|
@@ -67,12 +67,12 @@ class FlatTrade(Noren):
|
|
|
67
67
|
self,
|
|
68
68
|
user_id: str,
|
|
69
69
|
password: str,
|
|
70
|
-
|
|
70
|
+
totp: str,
|
|
71
71
|
api_key: str,
|
|
72
72
|
api_secret: str,
|
|
73
73
|
):
|
|
74
74
|
reqCode = FlatTradeUtils.get_request_code(
|
|
75
|
-
api_key=api_key, user_id=user_id, password=password, totp=
|
|
75
|
+
api_key=api_key, user_id=user_id, password=password, totp=totp
|
|
76
76
|
)
|
|
77
77
|
|
|
78
78
|
secret_code = api_key + reqCode + api_secret
|
|
@@ -62,7 +62,7 @@ class UplinkUtils:
|
|
|
62
62
|
def get_request_token(
|
|
63
63
|
api_key: str,
|
|
64
64
|
redirect_url: str,
|
|
65
|
-
|
|
65
|
+
totp: str,
|
|
66
66
|
mobile_number: str,
|
|
67
67
|
account_pin: str,
|
|
68
68
|
):
|
|
@@ -85,7 +85,7 @@ class UplinkUtils:
|
|
|
85
85
|
time.sleep(1)
|
|
86
86
|
|
|
87
87
|
totp_element = driver.find_element("xpath", UplinkUtils.totp_xpath)
|
|
88
|
-
totp_now = pyotp.TOTP(
|
|
88
|
+
totp_now = pyotp.TOTP(totp).now()
|
|
89
89
|
totp_element.send_keys(totp_now)
|
|
90
90
|
time.sleep(1)
|
|
91
91
|
|
|
@@ -1,36 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: quantplay
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.65
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|