quantplay 2.0.75__tar.gz → 2.0.76__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.75 → quantplay-2.0.76}/PKG-INFO +26 -1
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/angelone.py +1 -1
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/ft_utils/flattrade_utils.py +12 -6
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay.egg-info/PKG-INFO +26 -1
- {quantplay-2.0.75 → quantplay-2.0.76}/setup.py +1 -1
- {quantplay-2.0.75 → quantplay-2.0.76}/README.md +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/pyproject.toml +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/aliceblue.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/auto_login/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/auto_login/aliceblue.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/broker_factory.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/dhan.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/finvasia_utils/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/finvasia_utils/fa_noren.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/five_paisa.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/flattrade.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/ft_utils/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/ft_utils/ft_noren.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/generics/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/generics/broker.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/iifl_xts.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/kite_utils.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/kotak.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/motilal.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/noren.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/shoonya.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/uplink/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/uplink/uplink_utils.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/upstox.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/xts.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/xts_utils/Connect.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/xts_utils/Exception.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/xts_utils/InteractiveSocketClient.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/xts_utils/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/broker/zerodha.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/exception/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/exception/exceptions.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/model/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/model/broker.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/model/generics.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/model/instrument_data.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/model/order_event.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/py.typed +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/utils/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/utils/caching.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/utils/constant.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/utils/exchange.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/utils/number_utils.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/utils/pickle_utils.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/utils/selenium_utils.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/wrapper/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/wrapper/aws/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay/wrapper/aws/s3.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay.egg-info/SOURCES.txt +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay.egg-info/dependency_links.txt +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay.egg-info/requires.txt +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/quantplay.egg-info/top_level.txt +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/setup.cfg +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/tests/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/tests/conftest.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/tests/wrapper/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/tests/wrapper/aws/__init__.py +0 -0
- {quantplay-2.0.75 → quantplay-2.0.76}/tests/wrapper/aws/s3_test.py +0 -0
|
@@ -1,11 +1,36 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: quantplay
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.76
|
|
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
|
|
9
34
|
|
|
10
35
|
# Quantplay Alpha playground
|
|
11
36
|
|
|
@@ -85,7 +85,7 @@ class AngelOne(Broker):
|
|
|
85
85
|
totp=pyotp.TOTP(str(totp)).now(),
|
|
86
86
|
)
|
|
87
87
|
|
|
88
|
-
if response["status"]
|
|
88
|
+
if not response["status"]:
|
|
89
89
|
if "message" in response:
|
|
90
90
|
raise InvalidArgumentException(response["message"])
|
|
91
91
|
raise InvalidArgumentException("Invalid API credentials")
|
|
@@ -9,6 +9,7 @@ from selenium.common.exceptions import WebDriverException
|
|
|
9
9
|
from quantplay.exception.exceptions import (
|
|
10
10
|
InvalidArgumentException,
|
|
11
11
|
RetryableException,
|
|
12
|
+
TokenException,
|
|
12
13
|
WrongLibrarySetup,
|
|
13
14
|
retry_exception,
|
|
14
15
|
)
|
|
@@ -68,9 +69,11 @@ class FlatTradeUtils:
|
|
|
68
69
|
)
|
|
69
70
|
error_message = error_attempt.text
|
|
70
71
|
|
|
71
|
-
if error_message in [
|
|
72
|
-
"
|
|
73
|
-
"
|
|
72
|
+
if error_message.lower() in [
|
|
73
|
+
"invalid input : wrong password",
|
|
74
|
+
"invalid api key",
|
|
75
|
+
"resetpassword",
|
|
76
|
+
"user blocked due to multiple wrong attempts",
|
|
74
77
|
]:
|
|
75
78
|
raise InvalidArgumentException(
|
|
76
79
|
f"Flattrade Login Failed: {error_message}"
|
|
@@ -79,19 +82,22 @@ class FlatTradeUtils:
|
|
|
79
82
|
except Exception as e:
|
|
80
83
|
Constants.logger.error(f"Flattrade Selenium Error : {e}")
|
|
81
84
|
traceback.print_exc()
|
|
85
|
+
raise TokenException(str(e))
|
|
82
86
|
|
|
83
87
|
finally:
|
|
84
88
|
Constants.logger.error(
|
|
85
89
|
f"Flattrade Unkown Selenium Error : {error_message}"
|
|
86
90
|
)
|
|
87
|
-
raise
|
|
91
|
+
raise TokenException(
|
|
92
|
+
f"Flattrade Unkown Selenium Error : {error_message}"
|
|
93
|
+
)
|
|
88
94
|
|
|
89
95
|
try:
|
|
90
96
|
request_token = url.split("code=")[1].split("&")[0]
|
|
91
97
|
except Exception as e:
|
|
92
98
|
Constants.logger.error(f"Flattrade Selenium Error for {url}")
|
|
93
99
|
traceback.print_exc()
|
|
94
|
-
raise e
|
|
100
|
+
raise TokenException(str(e))
|
|
95
101
|
|
|
96
102
|
driver.close()
|
|
97
103
|
|
|
@@ -99,7 +105,7 @@ class FlatTradeUtils:
|
|
|
99
105
|
|
|
100
106
|
except binascii.Error:
|
|
101
107
|
raise InvalidArgumentException("Invalid TOTP key provided")
|
|
102
|
-
except InvalidArgumentException as e:
|
|
108
|
+
except (InvalidArgumentException, TokenException) as e:
|
|
103
109
|
raise e
|
|
104
110
|
except WebDriverException:
|
|
105
111
|
raise WrongLibrarySetup("Selenium setup need to be fixed")
|
|
@@ -1,11 +1,36 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: quantplay
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.76
|
|
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
|
|
9
34
|
|
|
10
35
|
# Quantplay Alpha playground
|
|
11
36
|
|
|
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
|
|
File without changes
|
|
File without changes
|