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.
Files changed (65) hide show
  1. {quantplay-2.0.71 → quantplay-2.0.73}/PKG-INFO +1 -26
  2. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/aliceblue.py +2 -2
  3. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/angelone.py +3 -0
  4. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/auto_login/aliceblue.py +1 -1
  5. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/broker_factory.py +0 -2
  6. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/generics/broker.py +1 -1
  7. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/kite_utils.py +1 -1
  8. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/motilal.py +2 -0
  9. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/uplink/uplink_utils.py +1 -1
  10. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts.py +1 -1
  11. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/generics.py +1 -3
  12. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/__init__.py +1 -2
  13. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/PKG-INFO +1 -26
  14. {quantplay-2.0.71 → quantplay-2.0.73}/setup.py +1 -1
  15. {quantplay-2.0.71 → quantplay-2.0.73}/README.md +0 -0
  16. {quantplay-2.0.71 → quantplay-2.0.73}/pyproject.toml +0 -0
  17. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/__init__.py +0 -0
  18. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/__init__.py +0 -0
  19. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/auto_login/__init__.py +0 -0
  20. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/dhan.py +0 -0
  21. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/finvasia_utils/__init__.py +0 -0
  22. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/finvasia_utils/fa_noren.py +0 -0
  23. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/five_paisa.py +0 -0
  24. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/flattrade.py +1 -1
  25. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/ft_utils/__init__.py +0 -0
  26. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/ft_utils/flattrade_utils.py +0 -0
  27. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/ft_utils/ft_noren.py +0 -0
  28. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/generics/__init__.py +0 -0
  29. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/iifl_xts.py +0 -0
  30. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/kotak.py +4 -4
  31. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/noren.py +0 -0
  32. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/shoonya.py +0 -0
  33. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/uplink/__init__.py +0 -0
  34. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/upstox.py +0 -0
  35. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts_utils/Connect.py +0 -0
  36. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts_utils/Exception.py +0 -0
  37. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts_utils/InteractiveSocketClient.py +0 -0
  38. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/xts_utils/__init__.py +0 -0
  39. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/broker/zerodha.py +1 -1
  40. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/exception/__init__.py +0 -0
  41. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/exception/exceptions.py +0 -0
  42. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/__init__.py +0 -0
  43. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/broker.py +0 -0
  44. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/instrument_data.py +0 -0
  45. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/model/order_event.py +0 -0
  46. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/py.typed +0 -0
  47. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/caching.py +0 -0
  48. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/constant.py +0 -0
  49. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/exchange.py +0 -0
  50. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/number_utils.py +0 -0
  51. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/pickle_utils.py +0 -0
  52. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/utils/selenium_utils.py +0 -0
  53. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/wrapper/__init__.py +0 -0
  54. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/wrapper/aws/__init__.py +0 -0
  55. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay/wrapper/aws/s3.py +0 -0
  56. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/SOURCES.txt +0 -0
  57. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/dependency_links.txt +0 -0
  58. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/requires.txt +0 -0
  59. {quantplay-2.0.71 → quantplay-2.0.73}/quantplay.egg-info/top_level.txt +0 -0
  60. {quantplay-2.0.71 → quantplay-2.0.73}/setup.cfg +0 -0
  61. {quantplay-2.0.71 → quantplay-2.0.73}/tests/__init__.py +0 -0
  62. {quantplay-2.0.71 → quantplay-2.0.73}/tests/conftest.py +0 -0
  63. {quantplay-2.0.71 → quantplay-2.0.73}/tests/wrapper/__init__.py +0 -0
  64. {quantplay-2.0.71 → quantplay-2.0.73}/tests/wrapper/aws/__init__.py +0 -0
  65. {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.71
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
- print(traceback.print_exc())
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
- print(traceback.print_exc())
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"
@@ -97,5 +97,5 @@ class AliceblueLogin:
97
97
  traceback.print_exc()
98
98
  raise RetryableException("Selenium setup need to be fixed")
99
99
  except Exception as e:
100
- print(traceback.print_exc())
100
+ traceback.print_exc()
101
101
  raise RetryableException(str(e))
@@ -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
- print(traceback.print_exc())
622
+ traceback.print_exc()
623
623
  print(f"Unable to process order stream for {self.user_id}")
624
624
  time.sleep(5)
625
625
 
@@ -119,5 +119,5 @@ class KiteUtils:
119
119
  except WebDriverException:
120
120
  raise RetryableException("Selenium setup need to be fixed")
121
121
  except Exception as e:
122
- print(traceback.print_exc())
122
+ traceback.print_exc()
123
123
  raise RetryableException(str(e))
@@ -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(
@@ -115,5 +115,5 @@ class UplinkUtils:
115
115
  except WebDriverException:
116
116
  raise RetryableException("Selenium setup need to be fixed")
117
117
  except Exception as e:
118
- print(traceback.print_exc())
118
+ traceback.print_exc()
119
119
  raise RetryableException(str(e))
@@ -68,7 +68,7 @@ class XTS(Broker):
68
68
  raise Exception("Missing Arguments")
69
69
 
70
70
  except Exception as e:
71
- print(traceback.print_exc())
71
+ traceback.print_exc()
72
72
  raise e
73
73
 
74
74
  if load_instrument:
@@ -1,6 +1,4 @@
1
- from typing import Literal
2
- from typing import TypedDict
3
-
1
+ from typing import Literal, TypedDict
4
2
 
5
3
  ExchangeType = Literal["NSE", "BSE", "NFO", "BFO", "CDS", "BCD", "MCX"]
6
4
  ProductType = Literal["NRML", "MIS", "CNC"]
@@ -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 PickleUtils, InstrumentData
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.71
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
 
@@ -21,7 +21,7 @@ requirements = [
21
21
  setup(
22
22
  name="quantplay",
23
23
  long_description=Path("README.md").read_text(),
24
- version="2.0.71",
24
+ version="2.0.73",
25
25
  setup_requires=["pytest-runner"],
26
26
  install_requires=requirements,
27
27
  tests_require=[],
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
 
@@ -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
 
@@ -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