ksxt 0.0.8__py3-none-any.whl → 0.0.10__py3-none-any.whl

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 (141) hide show
  1. ksxt/__init__.py +3 -1
  2. ksxt/__pycache__/__init__.cpython-312.pyc +0 -0
  3. ksxt/__pycache__/bithumb.cpython-312.pyc +0 -0
  4. ksxt/__pycache__/koreainvest.cpython-312.pyc +0 -0
  5. ksxt/__pycache__/upbit.cpython-312.pyc +0 -0
  6. ksxt/api/__init__.py +26 -0
  7. ksxt/api/__pycache__/__init__.cpython-312.pyc +0 -0
  8. ksxt/api/__pycache__/bithumb.cpython-312.pyc +0 -0
  9. ksxt/api/__pycache__/koreainvest.cpython-312.pyc +0 -0
  10. ksxt/api/__pycache__/upbit.cpython-312.pyc +0 -0
  11. ksxt/api/auto/api_generator.py +54 -0
  12. ksxt/api/auto/bithumb.py +35 -0
  13. ksxt/api/auto/koreainvest.py +49 -0
  14. ksxt/api/auto/upbit.py +39 -0
  15. ksxt/api/bithumb.py +42 -0
  16. ksxt/api/koreainvest.py +40 -0
  17. ksxt/api/upbit.py +54 -0
  18. ksxt/async_/__init__.py +4 -0
  19. ksxt/async_/__pycache__/__init__.cpython-312.pyc +0 -0
  20. ksxt/async_/__pycache__/bithumb.cpython-312.pyc +0 -0
  21. ksxt/async_/__pycache__/koreainvest.cpython-312.pyc +0 -0
  22. ksxt/async_/__pycache__/upbit.cpython-312.pyc +0 -0
  23. ksxt/async_/base/__init__.py +0 -0
  24. ksxt/async_/base/__pycache__/__init__.cpython-312.pyc +0 -0
  25. ksxt/async_/base/__pycache__/async_exchange.cpython-312.pyc +0 -0
  26. ksxt/async_/base/__pycache__/throttler.cpython-312.pyc +0 -0
  27. ksxt/async_/base/async_exchange.py +232 -0
  28. ksxt/async_/base/throttler.py +63 -0
  29. ksxt/async_/bithumb.py +455 -0
  30. ksxt/async_/koreainvest.py +849 -0
  31. ksxt/async_/upbit.py +488 -0
  32. ksxt/base/__pycache__/__init__.cpython-312.pyc +0 -0
  33. ksxt/base/__pycache__/errors.cpython-312.pyc +0 -0
  34. ksxt/base/__pycache__/exchange.cpython-312.pyc +0 -0
  35. ksxt/base/__pycache__/rest_exchange.cpython-312.pyc +0 -0
  36. ksxt/base/__pycache__/types.cpython-312.pyc +0 -0
  37. ksxt/base/com_exchange.py +2 -2
  38. ksxt/base/errors.py +10 -0
  39. ksxt/base/exchange.py +188 -497
  40. ksxt/base/rest_exchange.py +297 -113
  41. ksxt/base/types.py +1 -36
  42. ksxt/bithumb.py +504 -0
  43. ksxt/config/__init__.py +2 -1
  44. ksxt/config/__pycache__/__init__.cpython-312.pyc +0 -0
  45. ksxt/config/bithumb.toml +380 -0
  46. ksxt/config/koreainvest.toml +312 -0
  47. ksxt/config/token.toml +7 -0
  48. ksxt/config/upbit.toml +428 -0
  49. ksxt/koreainvest.py +409 -1055
  50. ksxt/market/__pycache__/base.cpython-312.pyc +0 -0
  51. ksxt/market/__pycache__/db.cpython-312.pyc +0 -0
  52. ksxt/market/__pycache__/logging.cpython-312.pyc +0 -0
  53. ksxt/market/__pycache__/manager.cpython-312.pyc +0 -0
  54. ksxt/market/__pycache__/markets.cpython-312.pyc +0 -0
  55. ksxt/market/base.py +50 -50
  56. ksxt/market/db.py +5 -4
  57. ksxt/market/krx/__pycache__/kosdaq.cpython-312.pyc +0 -0
  58. ksxt/market/krx/__pycache__/kospi.cpython-312.pyc +0 -0
  59. ksxt/market/krx/__pycache__/stock.cpython-312.pyc +0 -0
  60. ksxt/market/krx/kosdaq.py +150 -147
  61. ksxt/market/krx/kospi.py +179 -175
  62. ksxt/market/krx/stock.py +136 -134
  63. ksxt/market/logging.py +4 -4
  64. ksxt/market/manager.py +10 -12
  65. ksxt/market/markets.py +1 -1
  66. ksxt/market/us/__pycache__/amex.cpython-312.pyc +0 -0
  67. ksxt/market/us/__pycache__/nasdaq.cpython-312.pyc +0 -0
  68. ksxt/market/us/__pycache__/nyse.cpython-312.pyc +0 -0
  69. ksxt/market/us/__pycache__/stock.cpython-312.pyc +0 -0
  70. ksxt/market/us/amex.py +31 -31
  71. ksxt/market/us/nasdaq.py +31 -31
  72. ksxt/market/us/nyse.py +31 -31
  73. ksxt/market/us/stock.py +20 -28
  74. ksxt/models/__init__.py +16 -0
  75. ksxt/models/__pycache__/__init__.cpython-312.pyc +0 -0
  76. ksxt/models/__pycache__/balance.cpython-312.pyc +0 -0
  77. ksxt/models/__pycache__/cash.cpython-312.pyc +0 -0
  78. ksxt/models/__pycache__/common.cpython-312.pyc +0 -0
  79. ksxt/models/__pycache__/error.cpython-312.pyc +0 -0
  80. ksxt/models/__pycache__/historical.cpython-312.pyc +0 -0
  81. ksxt/models/__pycache__/market.cpython-312.pyc +0 -0
  82. ksxt/models/__pycache__/order.cpython-312.pyc +0 -0
  83. ksxt/models/__pycache__/orderbook.cpython-312.pyc +0 -0
  84. ksxt/models/__pycache__/ticker.cpython-312.pyc +0 -0
  85. ksxt/models/__pycache__/token.cpython-312.pyc +0 -0
  86. ksxt/models/__pycache__/transaction.cpython-312.pyc +0 -0
  87. ksxt/models/balance.py +30 -0
  88. ksxt/models/cash.py +15 -0
  89. ksxt/models/common.py +31 -0
  90. ksxt/models/error.py +13 -0
  91. ksxt/models/historical.py +26 -0
  92. ksxt/models/market.py +81 -0
  93. ksxt/models/order.py +42 -0
  94. ksxt/models/orderbook.py +32 -0
  95. ksxt/models/ticker.py +25 -0
  96. ksxt/models/token.py +14 -0
  97. ksxt/models/transaction.py +79 -0
  98. ksxt/parser/__pycache__/bithumb.cpython-312.pyc +0 -0
  99. ksxt/parser/__pycache__/koreainvest.cpython-312.pyc +0 -0
  100. ksxt/parser/__pycache__/parser.cpython-312.pyc +0 -0
  101. ksxt/parser/__pycache__/upbit.cpython-312.pyc +0 -0
  102. ksxt/parser/bithumb.py +300 -0
  103. ksxt/parser/koreainvest.py +323 -0
  104. ksxt/parser/parser.py +114 -0
  105. ksxt/parser/upbit.py +308 -0
  106. ksxt/upbit.py +499 -0
  107. ksxt/utils/__pycache__/safer.cpython-312.pyc +0 -0
  108. ksxt/utils/__pycache__/sorter.cpython-312.pyc +0 -0
  109. ksxt/utils/__pycache__/timer.cpython-312.pyc +0 -0
  110. ksxt/utils/safer.py +48 -0
  111. ksxt/utils/sorter.py +8 -0
  112. ksxt/utils/timer.py +47 -0
  113. {ksxt-0.0.8.dist-info → ksxt-0.0.10.dist-info}/METADATA +11 -1
  114. ksxt-0.0.10.dist-info/RECORD +119 -0
  115. {ksxt-0.0.8.dist-info → ksxt-0.0.10.dist-info}/WHEEL +1 -1
  116. ksxt/__pycache__/__init__.cpython-39.pyc +0 -0
  117. ksxt/__pycache__/koreainvest.cpython-39.pyc +0 -0
  118. ksxt/base/__pycache__/__init__.cpython-39.pyc +0 -0
  119. ksxt/base/__pycache__/exchange.cpython-39.pyc +0 -0
  120. ksxt/base/__pycache__/rest_exchange.cpython-39.pyc +0 -0
  121. ksxt/base/__pycache__/restexchange.cpython-39.pyc +0 -0
  122. ksxt/base/__pycache__/types.cpython-39.pyc +0 -0
  123. ksxt/base/api_response.py +0 -68
  124. ksxt/config/__pycache__/__init__.cpython-39.pyc +0 -0
  125. ksxt/config/tr_app.json +0 -381
  126. ksxt/config/tr_dev.json +0 -446
  127. ksxt/market/__pycache__/base.cpython-39.pyc +0 -0
  128. ksxt/market/__pycache__/db.cpython-39.pyc +0 -0
  129. ksxt/market/__pycache__/logging.cpython-39.pyc +0 -0
  130. ksxt/market/__pycache__/manager.cpython-39.pyc +0 -0
  131. ksxt/market/__pycache__/markets.cpython-39.pyc +0 -0
  132. ksxt/market/krx/__pycache__/kosdaq.cpython-39.pyc +0 -0
  133. ksxt/market/krx/__pycache__/kospi.cpython-39.pyc +0 -0
  134. ksxt/market/krx/__pycache__/stock.cpython-39.pyc +0 -0
  135. ksxt/market/us/__pycache__/amex.cpython-39.pyc +0 -0
  136. ksxt/market/us/__pycache__/nasdaq.cpython-39.pyc +0 -0
  137. ksxt/market/us/__pycache__/nyse.cpython-39.pyc +0 -0
  138. ksxt/market/us/__pycache__/stock.cpython-39.pyc +0 -0
  139. ksxt-0.0.8.dist-info/RECORD +0 -49
  140. {ksxt-0.0.8.dist-info → ksxt-0.0.10.dist-info}/LICENSE.txt +0 -0
  141. {ksxt-0.0.8.dist-info → ksxt-0.0.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,119 @@
1
+ ksxt/__init__.py,sha256=Q4kbXuxaCcQg5Z1T2z31lrUc5Cr95RIyv-y6hNf3R0E,131
2
+ ksxt/bithumb.py,sha256=0pRy8XamlHZ2ypSeJkqiLbkqos5_l3vLKGmqL_EplS8,21405
3
+ ksxt/koreainvest.py,sha256=UX2BHIU_Yymi2A5EvNOUwcWkv7g677ihzVYTCjBtfcM,20933
4
+ ksxt/upbit.py,sha256=ploO4Q4iX9wUfa6UagY2S5cvZvMHVDXsXF4fbu8723g,21699
5
+ ksxt/__pycache__/__init__.cpython-312.pyc,sha256=wOfyuexJUbv8R-aktGSuw5cGx_Nz9O0ReqF9npfS50Q,311
6
+ ksxt/__pycache__/bithumb.cpython-312.pyc,sha256=EtcBPN5niXbkjMK_PUmfOLANsdRpUqI3GW0EIAWpqVA,24716
7
+ ksxt/__pycache__/koreainvest.cpython-312.pyc,sha256=xzeKWRPrgPFZ1VnEupted4XpCRePJJ-_LRU2lBe5LLM,22079
8
+ ksxt/__pycache__/upbit.cpython-312.pyc,sha256=FciYM5KvlGO3-lhbeTP6E-ZWs2KiaWJkvrLTGfBmbcg,25111
9
+ ksxt/api/__init__.py,sha256=CZ8AedRG8O9vEdSqTaot5sV3nwpxPZoVOYwrFCLUo6M,736
10
+ ksxt/api/bithumb.py,sha256=6apoSNoiEOIkR6xQu4rtCSz7sdNdx3BHeu8-m8omh6E,2177
11
+ ksxt/api/koreainvest.py,sha256=93BASTUUsw39APRFxVqlaOu-keEFuIO3MvHX_6g-AAs,2159
12
+ ksxt/api/upbit.py,sha256=CQN-A0gVoeNoHTZhH8kCaGk1svaOvo5HDyVFfXou_6A,2704
13
+ ksxt/api/__pycache__/__init__.cpython-312.pyc,sha256=iXy-NxFPT7ut0S54NSloMaKSBgLheTZ4eASLBnswIf8,1375
14
+ ksxt/api/__pycache__/bithumb.cpython-312.pyc,sha256=EqVVkh51N1nvdZxSExExdCFpId9yFxBfd8GyTrdVf8w,2560
15
+ ksxt/api/__pycache__/koreainvest.cpython-312.pyc,sha256=833_xjY1AgWs9FGtxN-5E1bIeMQs19Ez1XRpftmZNYg,2088
16
+ ksxt/api/__pycache__/upbit.cpython-312.pyc,sha256=ev6YXi1HICMe3pT68SP1CVF81fUs6gWanbZO1tmJvBM,3015
17
+ ksxt/api/auto/api_generator.py,sha256=R8Q7uFN1wDr_0CUsJJ1nmZhoDBwzjPlKUXrNCsY9QKU,2540
18
+ ksxt/api/auto/bithumb.py,sha256=n6ctGefq28i5CMiItLF1xOZgeDP9F9em4HXfoPUcmqw,1261
19
+ ksxt/api/auto/koreainvest.py,sha256=z4Bf3C7g2W-eQP99oBeM_J0mq2D3PkbQaulrDwxJB04,1582
20
+ ksxt/api/auto/upbit.py,sha256=CtSG0jziqJR4FInHvwDisJfMWCUrUIQQcNPuCGGR7Do,1467
21
+ ksxt/async_/__init__.py,sha256=ztfV65aN2mXamQSfVm3GLYB6cszkvsCSlUyhfe2H_2M,186
22
+ ksxt/async_/bithumb.py,sha256=8u87o6HBqU1Ga0-MUBnygrkx6IjwzonImlPV3qZ_zug,19285
23
+ ksxt/async_/koreainvest.py,sha256=IW0E1zDZZmCM38XRqoX8uwXxRW1Z1oPLlBWDWZ7br5o,32092
24
+ ksxt/async_/upbit.py,sha256=99IC-czWOV6SsKN645BdbM7Rg_oDo8_iwaIzfGxI_i0,21247
25
+ ksxt/async_/__pycache__/__init__.cpython-312.pyc,sha256=iIsmwj1LPoOUx4ad9K2yCdmVi5vXv23kOTUX7I5NGx4,380
26
+ ksxt/async_/__pycache__/bithumb.cpython-312.pyc,sha256=r8oTmvbamu7cGJZYc2YieeFo7IhZf1Rcrh6pIvYHlw8,23397
27
+ ksxt/async_/__pycache__/koreainvest.cpython-312.pyc,sha256=xSyD87B8mWGLsiPtsXdFEhdMx1sLapIugyl7UnJf5Q8,31962
28
+ ksxt/async_/__pycache__/upbit.cpython-312.pyc,sha256=4f1hx8Na-P01MlYdgsU1CvPD8iT9z4t02OyVOVQkfa8,26273
29
+ ksxt/async_/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ ksxt/async_/base/async_exchange.py,sha256=ARis9XxuWWS8k37vH4BdIGUQpS4p_PUITt0HaQkly6I,9499
31
+ ksxt/async_/base/throttler.py,sha256=o6On7tIQdIVCb9reIe5u7FgqJybWZRikdunEj0FoJok,2017
32
+ ksxt/async_/base/__pycache__/__init__.cpython-312.pyc,sha256=jREIi8ul1C01r_-NcGb44P6KWeLzw0qVRsaHaegOf_0,153
33
+ ksxt/async_/base/__pycache__/async_exchange.cpython-312.pyc,sha256=iS7jjyof971KeDV3yxsMbGZiwWuDlKgYYxhtp84G3b4,15215
34
+ ksxt/async_/base/__pycache__/throttler.cpython-312.pyc,sha256=wNDfiAHgLIXbSPtK4BOYjnnsWcZSO-Cq4NQXhzrJQpM,3192
35
+ ksxt/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ ksxt/base/com_exchange.py,sha256=q7C3Bc5q4ENvNGoghnQCN7YLttgwmFoNj9WsH5qxXNQ,287
37
+ ksxt/base/errors.py,sha256=msGHmm9YGUOXOaK_VhOUEt5LvIDMMm6G-io8nQbNgA0,141
38
+ ksxt/base/exchange.py,sha256=oXvg1kC73KZ6zHrgnmRmjsM9zTPsve3Qw_xCi0rNf2Q,16643
39
+ ksxt/base/rest_exchange.py,sha256=_LpMDW_aCIW1knYUJoTRWDAyW17b0ZVdnaX4PfgzKj8,14452
40
+ ksxt/base/types.py,sha256=3bd3obJhhX1njy_o4LW8hSAHX2MThOI-mZm6iifwno4,59
41
+ ksxt/base/__pycache__/__init__.cpython-312.pyc,sha256=WnqBpy7gGuw6RNmEVSFdxy4sOZJgZD-fZCJRUbhOHmU,146
42
+ ksxt/base/__pycache__/errors.cpython-312.pyc,sha256=rAZ-JEC6Ga8eAk4FbYv1foQvMiwK2qj8yVSOzPmKAKo,622
43
+ ksxt/base/__pycache__/exchange.cpython-312.pyc,sha256=t-jDvi1BSgju3_FolY42GU7-eJt9y60kRN15a1OX7v4,21552
44
+ ksxt/base/__pycache__/rest_exchange.cpython-312.pyc,sha256=mobfwenfwekEZN9ywDKK-eS0hTIo-vb-QqAUw6DuN-s,21780
45
+ ksxt/base/__pycache__/types.cpython-312.pyc,sha256=iF742YNlqCX4ZSIJP4FDPd-3765zIr1VWr-XWXisCsA,232
46
+ ksxt/config/__init__.py,sha256=W6RIjNN-e2Mh3P7xwHE7pYVENG_drLTLck5d9nRlz14,70
47
+ ksxt/config/bithumb.toml,sha256=74nzGNIGl8U6y_TaxEWJDGNMeDZLtnrKP8wjfA9wbq4,11611
48
+ ksxt/config/koreainvest.toml,sha256=XQRSdEgkWlhbfS6AvJRqQJ_8210i__nfFSI9n3GcgqY,11526
49
+ ksxt/config/token.toml,sha256=d2apbR6t929w6gLUg-tJ1JT8q6RKPTdYkghxdF9ZDeY,864
50
+ ksxt/config/upbit.toml,sha256=hzOg9nxGKXB9eko59Y07kwG7MnldytFdbGjRhmgHUL0,13261
51
+ ksxt/config/__pycache__/__init__.cpython-312.pyc,sha256=7T4AHX9kW8N67__FU10XfF8pkIzt31Tuhp9Pw40YwMQ,346
52
+ ksxt/market/base.py,sha256=SzNPJECU2iWaQEUesI_REW_A0by_Tv4hs4Hv8p_sr0I,6856
53
+ ksxt/market/db.py,sha256=ZPr2WlQRUOjhJm1fwFBrdwWG7UJkEpy5Pr0oEQ3Nqb0,386
54
+ ksxt/market/logging.py,sha256=hkyAhzA72-KCGcVavSOHFSz2FU5QJq_gn6WA6kXs_Pw,698
55
+ ksxt/market/manager.py,sha256=kgXrsjFw4O_BPVM2VxQJbm5ryWPG3L-NX1Pm-pN68jE,7301
56
+ ksxt/market/markets.py,sha256=pExEvlLhoLvs2Ipkp-p8_yG3tFgz3U3yB5VAVqD8qdM,545
57
+ ksxt/market/__pycache__/base.cpython-312.pyc,sha256=IKWXgDHpco0eXRYt8h8XbEF6rlyIXxWwnCGQm-N3yyA,11239
58
+ ksxt/market/__pycache__/db.cpython-312.pyc,sha256=kqPBwumXrs41OHmteoTCACqyV6Y-S_nTf5eCVe3VMi4,692
59
+ ksxt/market/__pycache__/logging.cpython-312.pyc,sha256=lPsvc_7cwrlBniESyf4kk5djKEyCV2NOn_aEtbzE_Ko,1402
60
+ ksxt/market/__pycache__/manager.cpython-312.pyc,sha256=7KBhnZBaej8ncRHPpJ9MjCJKIDbBrSa89gZ_mvlguoE,11784
61
+ ksxt/market/__pycache__/markets.cpython-312.pyc,sha256=PZeLsVyRdEhUkkhdxxkZQZFZTtLMWqLt_G50dojY5yk,745
62
+ ksxt/market/krx/kosdaq.py,sha256=CJDKMPp3utH-bmPrrEAzmFx5GSXk_KVhLDdGCAaxaBQ,18626
63
+ ksxt/market/krx/kospi.py,sha256=lRyA-xCjqdyuB87eHFGooIHtpbjy7WcrQ0Rk2ZnCt40,20466
64
+ ksxt/market/krx/stock.py,sha256=IXx4xNYsQgKhuLz1_S0Bd9Scqd6fip75gafRePAFW7U,8111
65
+ ksxt/market/krx/__pycache__/kosdaq.cpython-312.pyc,sha256=rFQcJnZZvYAg1Yzdr1_RzIpfSRNowTf_UXggn_hqhmY,7517
66
+ ksxt/market/krx/__pycache__/kospi.cpython-312.pyc,sha256=6GIXejbXD7EYKE2tYpE-RfugGn4elXkYkPSaLf4xwtk,8609
67
+ ksxt/market/krx/__pycache__/stock.cpython-312.pyc,sha256=Z1iLzEQHTC5lPPWNxU9UFZHBcPx9iGY3lG6e7X2ReUo,9013
68
+ ksxt/market/us/amex.py,sha256=ZYlfh1x2eiA8P3DfO2PKj6nIE-O4WQNgDM-CsLqFUVs,5510
69
+ ksxt/market/us/nasdaq.py,sha256=OIBJn16veH36Um-Bhr14K0qBu3ZZwPSWi5sj6zxmkVA,5524
70
+ ksxt/market/us/nyse.py,sha256=eCAcz0saj1RFuyfmJc8cjecwGEDIhvkYVkUp941ZOIw,5507
71
+ ksxt/market/us/stock.py,sha256=hRb4RH2kf-1RaNcWLvE5tg2uCcu6LoPZ0Nc1u6Wpzbc,3675
72
+ ksxt/market/us/__pycache__/amex.cpython-312.pyc,sha256=SHkV_qMY-q2VCS_JE_Fg8-hjx2KB5pAO4qIxoPYM1PI,3381
73
+ ksxt/market/us/__pycache__/nasdaq.cpython-312.pyc,sha256=fIBINbfUs3Lz3sC0yTq6b5qJOsj79jE2fOGvT0NxT7k,3395
74
+ ksxt/market/us/__pycache__/nyse.cpython-312.pyc,sha256=3H-9y24xyfB5EoAW4a2WegmtSEcP-9MprVZh-cPtjUo,3378
75
+ ksxt/market/us/__pycache__/stock.cpython-312.pyc,sha256=H4N9d5Xk1jm5Tozq_RqXe-0mNX7KYgEgQvApWi2kkf4,4976
76
+ ksxt/models/__init__.py,sha256=V7Nr0RHOOXithVTQW12hveavnapS8nGhWQ3JIMwDFTc,706
77
+ ksxt/models/balance.py,sha256=zOYclyZA0A-DU8ZIsTDOxXZw3VUYQhfp1u3sTrzXWuE,651
78
+ ksxt/models/cash.py,sha256=sNexdR6Ek-YZ6cVAmre-zf3K30R-6hreHuBQKYzMsPU,303
79
+ ksxt/models/common.py,sha256=HvsNa2wlTeLdnB67untL0UzOQ5r6f2s6Gkfxeh7LTpM,827
80
+ ksxt/models/error.py,sha256=yzpTweHMB-bi7hzD8ATKsK2klJAsbfPEBBa1A5tY6tw,291
81
+ ksxt/models/historical.py,sha256=fWcst4WPimI2Avb4b1kOswfyf3nB4XSMgpTSmm7uTpY,655
82
+ ksxt/models/market.py,sha256=SBV-LEQcM6_GnSpueInMwweQUENAMy4jptpFkW6XRzM,1857
83
+ ksxt/models/order.py,sha256=LJJd-licLirI5WrAM1MItViOX_u5U_fmpBFPpDSdHxE,867
84
+ ksxt/models/orderbook.py,sha256=S1c03QBu1hupN87CMWLgEsh8u2GrZ_Z_BcTUuiKGnR0,773
85
+ ksxt/models/ticker.py,sha256=pPc7GqUOJchLg7qOpKfxhTVpXygF1Otc_M9_KfHFEgY,544
86
+ ksxt/models/token.py,sha256=eUBoX7O0ffC63BN12-1aUjcfE_R1Ylyxr6_U79FLDv0,319
87
+ ksxt/models/transaction.py,sha256=dLPXoWcMzfVf8FAJT69BIDzOboRpqYxvUMcrZeuvICQ,1599
88
+ ksxt/models/__pycache__/__init__.cpython-312.pyc,sha256=LzMo37nDp7HTIZXkLhrB4Xg_SRSrPrLrRMHwZMfnyMY,1033
89
+ ksxt/models/__pycache__/balance.cpython-312.pyc,sha256=1lzLExKkMLOPevF2A8IrGxIiqcrsDTJsQSfrBvrGkpE,1281
90
+ ksxt/models/__pycache__/cash.cpython-312.pyc,sha256=zHfJRVx-50RgXuUvCK1aLRgJaPlOPkH4bbLpdqly8Qw,722
91
+ ksxt/models/__pycache__/common.cpython-312.pyc,sha256=G8yzihcEFUbqS5xm38_tLQahaO509Iq2iiXHdOffbWs,1363
92
+ ksxt/models/__pycache__/error.cpython-312.pyc,sha256=nnbF5rIw8e6kr_fcn-uwD_41Ge0Du2f2vUZpK4zzRFI,774
93
+ ksxt/models/__pycache__/historical.cpython-312.pyc,sha256=TocUsW2T7yOOU29YzSEVAKSLtDwQ77AgGGPJDJTWhlc,1291
94
+ ksxt/models/__pycache__/market.cpython-312.pyc,sha256=LSMJWGMM5nzCW366uFC1jLlHDoSIBgV08p3T7I9P8L0,2964
95
+ ksxt/models/__pycache__/order.cpython-312.pyc,sha256=jvesPAK8EDrWCsE8H7UywkNyPdMmwKDWpoHO-BHKEd8,1791
96
+ ksxt/models/__pycache__/orderbook.cpython-312.pyc,sha256=wzEg5vuh78UOhnUvMd_K7SjfIdgPQ9lZpHlHJ4ekqs8,1517
97
+ ksxt/models/__pycache__/ticker.cpython-312.pyc,sha256=k6_mEv_fTMtZOd6BwWUW8du_udB8LnmZqOWbZpjE1lE,1165
98
+ ksxt/models/__pycache__/token.cpython-312.pyc,sha256=DFNk5vUNLM-McE9US441Zfmo7yyCv_Gpxxp350PmNrw,795
99
+ ksxt/models/__pycache__/transaction.cpython-312.pyc,sha256=lSEJNLWcsivMp_DeEv2-zw75EDqKiY3YCN5hQh4fvHY,2779
100
+ ksxt/parser/bithumb.py,sha256=0c0_aFkbQxHvDHOpuA4pothJbnVlO3nKYgzQgFHio_g,14236
101
+ ksxt/parser/koreainvest.py,sha256=X751E-grPEY7itEGnY66ILTWG_GY3wA0XJxF-h4S1FQ,14954
102
+ ksxt/parser/parser.py,sha256=8H6RmI6XUBhwp3r7pFcdtUuf-7bZ5RvnObXKrcOMfyI,5147
103
+ ksxt/parser/upbit.py,sha256=ZTID_1YESUcL5T44LVB9j61lj1FW-1XU6tEEj7vZqHE,14677
104
+ ksxt/parser/__pycache__/bithumb.cpython-312.pyc,sha256=xsC_8d9PNgK5J490dfcsB_195PRwoGGOFraBn3FaQtY,17986
105
+ ksxt/parser/__pycache__/koreainvest.cpython-312.pyc,sha256=eVc0zrgcFn39meAfemhhRfGR_dSL3rMb3fOtsMr1elQ,18284
106
+ ksxt/parser/__pycache__/parser.cpython-312.pyc,sha256=D6qWG4dfxiRPUv6L_XAUPSnne4N_FWh1HV5URSUWo3Q,8326
107
+ ksxt/parser/__pycache__/upbit.cpython-312.pyc,sha256=u-4h94dVoYiZ9WgIp_d6L2-afs1ybHhJYxfwOyoMRcI,18843
108
+ ksxt/sample/symbol_sync.ipynb,sha256=dnUOgEKdUuEkDo_6LZjmDtVuNh4PPmCN4Ht7Pz-0L9Y,640081
109
+ ksxt/utils/safer.py,sha256=raRU2CBDtsZyyipb6xduRoTgasEtNnpZKHpbTK9wkh4,1279
110
+ ksxt/utils/sorter.py,sha256=j7eN1Qy7Wx3cXcWyRWyO1fVq-M24TrXvcfewPR5axF4,227
111
+ ksxt/utils/timer.py,sha256=4_rhXdQDFkKshS5utWrgTteIe71tVSTL1zNW-IjOngM,1228
112
+ ksxt/utils/__pycache__/safer.cpython-312.pyc,sha256=GxRVIQqkB2OhLPrnBuQtFAtytEocdxWqykuutRkJuA8,1893
113
+ ksxt/utils/__pycache__/sorter.cpython-312.pyc,sha256=7VUIekH9h5SDsz4L5bjCdSQln-fLgQZII46URitryHI,626
114
+ ksxt/utils/__pycache__/timer.cpython-312.pyc,sha256=8coj4_LWUtYOdFVhaEHyDbDwkt3JKtmQ1pXPtnsROyY,2005
115
+ ksxt-0.0.10.dist-info/LICENSE.txt,sha256=vyuXQcPOZ9BriMQz3h1k3jQTrKGsAjohf8WQHHf6xqo,1080
116
+ ksxt-0.0.10.dist-info/METADATA,sha256=iX3L6YoHhu8Bkxgaq19BfoYpDYSDxytjYXm4uOOjqqw,1650
117
+ ksxt-0.0.10.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
118
+ ksxt-0.0.10.dist-info/top_level.txt,sha256=XLUhkZCur5Pe0BPUV3J0syngIPz7jBb2YlQR4epo5kI,5
119
+ ksxt-0.0.10.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.3)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
Binary file
Binary file
Binary file
ksxt/base/api_response.py DELETED
@@ -1,68 +0,0 @@
1
- from collections import namedtuple
2
-
3
-
4
- class APIResponse:
5
- #응답코드, 응답헤더, Output, 오류코드, 오류메시지
6
- def __init__(self, resp):
7
- self._response_code = resp.status_code
8
- self._resp = resp
9
- self._header = self._set_header()
10
- self._body = self._set_body()
11
- self._err_code = self._body.rt_cd
12
- self._err_message = self._body.msg1
13
-
14
- #
15
- def get_response_code(self):
16
- return self._response_code
17
-
18
- def _set_header(self):
19
- fld = dict()
20
- for x in self._resp.headers.keys():
21
- if x.islower():
22
- fld[x] = self._resp.headers.get(x)
23
- _th_ = namedtuple('header', fld.keys())
24
-
25
- return _th_(**fld)
26
-
27
- def _set_body(self):
28
- _tb_ = namedtuple('body', self._resp.json().keys())
29
-
30
- return _tb_(**self._resp.json())
31
-
32
- def get_header(self):
33
- return self._header
34
-
35
- def get_body(self):
36
- return self._body
37
-
38
- def get_response(self):
39
- return self._resp
40
-
41
- def is_ok(self):
42
- try:
43
- if (self.get_body().rt_cd == '0'):
44
- return True
45
- else:
46
- return False
47
- except Exception as ex:
48
- return False
49
-
50
- def get_error_code(self):
51
- return self._err_code
52
-
53
- def get_error_message(self):
54
- return self._err_message
55
-
56
- def print_all(self):
57
- # print(self._resp.headers)
58
- print("<Header>")
59
- for x in self.get_header()._fields:
60
- print(f'\t-{x}: {getattr(self.get_header(), x)}')
61
- print("<Body>")
62
- for x in self.get_body()._fields:
63
- print(f'\t-{x}: {getattr(self.get_body(), x)}')
64
-
65
- def print_error(self):
66
- print('-------------------------------\nError in response: ', self.get_response_code())
67
- print(self.get_body().rt_cd, self.get_error_code(), self.get_error_message())
68
- print('-------------------------------')
ksxt/config/tr_app.json DELETED
@@ -1,381 +0,0 @@
1
- {
2
- "KoreaInvestment": {
3
- "rest": {
4
- "hostname": "openapi.koreainvestment.com:9443",
5
- "stock": {
6
- "broker": {
7
- "foldername": "uapi/domestic-stock",
8
- "send_order_entry": {
9
- "tr": "TTTC0802U",
10
- "url": "trading/order-cash",
11
- "activate": true,
12
- "__comment__": "주식주문(현금)[v1_국내주식-001]"
13
- },
14
- "send_order_exit": {
15
- "tr": "TTTC0801U",
16
- "url": "trading/order-cash",
17
- "activate": true,
18
- "__comment__": "주식주문(현금)[v1_국내주식-001]"
19
- },
20
- "send_order_loan_entry": {
21
- "tr": "TTTC0852U",
22
- "url": "trading/order-credit",
23
- "activate": true,
24
- "__comment__": "주식주문(신용)[v1_국내주식-002]"
25
- },
26
- "send_order_loan_exit": {
27
- "tr": "TTTC0851U",
28
- "url": "trading/order-credit",
29
- "activate": true,
30
- "__comment__": "주식주문(신용)[v1_국내주식-002]"
31
- },
32
- "send_modify_order": {
33
- "tr": "TTTC0803U",
34
- "url": "trading/order-rvsecncl",
35
- "activate": true,
36
- "__comment__": "주식주문(정정취소)[v1_국내주식-003]"
37
- },
38
- "send_cancel_order": {
39
- "tr": "TTTC0803U",
40
- "url": "trading/order-rvsecncl",
41
- "activate": true,
42
- "__comment__": "주식주문(정정취소)[v1_국내주식-003]"
43
- },
44
- "fetch_opened_order": {
45
- "tr": "TTTC8001R",
46
- "url": "trading/inquire-daily-ccld",
47
- "activate": true,
48
- "__comment__": "주식일별주문체결조회[v1_국내주식-005] (3개월 이내)"
49
- },
50
- "fetch_closed_order_short": {
51
- "tr": "TTTC8001R",
52
- "url": "trading/inquire-daily-ccld",
53
- "activate": true,
54
- "__comment__": "주식일별주문체결조회[v1_국내주식-005] (3개월 이내)"
55
- },
56
- "fetch_closed_order_long": {
57
- "tr": "CTSC9115R",
58
- "url": "trading/inquire-daily-ccld",
59
- "activate": true,
60
- "__comment__": "주식일별주문체결조회[v1_국내주식-005] (3개월 이후)"
61
- },
62
- "can_modify_order": {
63
- "tr": "TTTC8036R",
64
- "url": "trading/inquire-psbl-rvsecncl",
65
- "activate": true,
66
- "__comment__": "주식정정취소가능주문조회[v1_국내주식-004]"
67
- },
68
- "can_cancel_order": {
69
- "tr": "TTTC8036R",
70
- "url": "trading/inquire-psbl-rvsecncl",
71
- "activate": true,
72
- "__comment__": "주식정정취소가능주문조회[v1_국내주식-004]"
73
- },
74
- "fetch_balance": {
75
- "tr": "TTTC8434R",
76
- "url": "trading/inquire-balance",
77
- "activate": true,
78
- "__comment__": "주식잔고조회[v1_국내주식-006]"
79
- },
80
- "fetch_cash": {
81
- "tr": "TTTC8434R",
82
- "url": "trading/inquire-balance",
83
- "activate": true,
84
- "__comment__": "주식잔고조회[v1_국내주식-006]"
85
- },
86
- "can_entry_cash": {
87
- "tr": "TTTC8908R",
88
- "url": "trading/inquire-psbl-order",
89
- "activate": true,
90
- "__comment__": "매수가능조회[v1_국내주식-007]"
91
- },
92
- "can_entry_loan": {
93
- "tr": "TTTC8909R",
94
- "url": "trading/inquire-credit-psamount",
95
- "activate": true,
96
- "__comment__": "신용매수가능조회[v1_국내주식-042]"
97
- },
98
- "fetch_realized_profit_n_loss": {
99
- "tr": "TTTC8494R",
100
- "url": "trading/inquire-balance-rlz-pl",
101
- "activate": true,
102
- "__comment__": "주식잔고조회_실현손익[v1_국내주식-041]"
103
- }
104
- },
105
- "feeder": {
106
- "foldername": "uapi/domestic-stock",
107
- "fetch_ticker_price": {
108
- "tr": "FHKST01010100",
109
- "url": "quotations/inquire-price",
110
- "activate": true,
111
- "__comment__": "주식현재가 시세[v1_국내주식-008]"
112
- },
113
- "fetch_orderbook": {
114
- "tr": "FHKST01010300",
115
- "url": "quotations/inquire-ccnl",
116
- "activate": true,
117
- "__comment__": "주식현재가 체결[v1_국내주식-009]"
118
- },
119
- "fetch_ohlcv_stock_recent": {
120
- "tr": "FHKST01010400",
121
- "url": "quotations/inquire-daily-price",
122
- "activate": true,
123
- "__comment__": "주식현재가 일자별[v1_국내주식-010] - 최근 30일"
124
- },
125
- "fetch_spread": {
126
- "tr": "FHKST01010200",
127
- "url": "quotations/inquire-asking-price-exp-ccn",
128
- "activate": true,
129
- "__comment__": "주식현재가 호가/예상체결[v1_국내주식-011]"
130
- },
131
- "fetch_investor": {
132
- "tr": "FHKST01010900",
133
- "url": "quotations/inquire-investor",
134
- "activate": true,
135
- "__comment__": "주식현재가 투자자[v1_국내주식-012]"
136
- },
137
- "fetch_investor_detail": {
138
- "tr": "FHKST01010600",
139
- "url": "quotations/inquire-member",
140
- "activate": true,
141
- "__comment__": "주식현재가 회원사[v1_국내주식-013]"
142
- },
143
- "fetch_ohlcv_stock": {
144
- "tr": "FHKST03010100",
145
- "url": "quotations/inquire-daily-itemchartprice",
146
- "activate": true,
147
- "__comment__": "국내주식기간별시세(일/주/월/년)[v1_국내주식-016]"
148
- },
149
- "fetch_ohlcv_index": {
150
- "tr": "FHKUP03500100",
151
- "url": "quotations/inquire-daily-indexchartprice",
152
- "activate": true,
153
- "__comment__": "국내주식업종기간별시세(일/주/월/년)[v1_국내주식-021]"
154
- },
155
- "fetch_orderbook_in_market": {
156
- "tr": "FHPST01060000",
157
- "url": "quotations/inquire-time-itemconclusion",
158
- "activate": true,
159
- "__comment__": "주식현재가 당일시간대별체결[v1_국내주식-023]"
160
- },
161
- "fetch_orderbook_out_market": {
162
- "tr": "FHPST02310000",
163
- "url": "quotations/inquire-time-overtimeconclusion",
164
- "activate": true,
165
- "__comment__": "주식현재가 시간외시간별체결[v1_국내주식-025]"
166
- },
167
- "fetch_ohlcv_stock_recent_out_market": {
168
- "tr": "FHPST02320000",
169
- "url": "quotations/inquire-daily-overtimeprice",
170
- "activate": true,
171
- "__comment__": "주식현재가 시간외일자별주가[v1_국내주식-026]"
172
- },
173
- "fetch_minute_ohlcv_stock": {
174
- "tr": "FHKST03010200",
175
- "url": "quotations/inquire-time-itemchartprice",
176
- "activate": true,
177
- "__comment__": "주식당일분봉조회[v1_국내주식-022] - 최대 30건"
178
- },
179
- "fetch_stock_info": {
180
- "tr": "CTPF1604R",
181
- "url": "quotations/search-info",
182
- "activate": true,
183
- "__comment__": "상품기본조회[v1_국내주식-029]"
184
- },
185
- "fetch_calendar_holiday": {
186
- "tr": "CTCA0903R",
187
- "url": "quotations/chk-holiday",
188
- "activate": true,
189
- "__comment__": "국내휴장일조회"
190
- },
191
- "fetch_screener_list": {
192
- "tr": "HHKST03900300",
193
- "url": "quotations/psearch-title",
194
- "activate": true,
195
- "__comment__": "종목조건검색 목록조회[국내주식-038]"
196
- },
197
- "fetch_screener": {
198
- "tr": "HHKST03900400",
199
- "url": "quotations/psearch-result",
200
- "activate": true,
201
- "__comment__": "종목조건검색조회 [국내주식-039]"
202
- }
203
- }
204
- },
205
- "derivative" : {
206
- },
207
- "oversea_stock" : {
208
- "broker": {
209
- "foldername": "/uapi/overseas-stock",
210
- "send_order_entry": {
211
- "tr": "TTTT1002U",
212
- "url": "trading/order",
213
- "activate": true,
214
- "__comment__": "해외주식 주문[v1_해외주식-001]"
215
- },
216
- "send_order_exit": {
217
- "tr": "TTTT1006U",
218
- "url": "trading/order",
219
- "activate": true,
220
- "__comment__": "해외주식 주문[v1_해외주식-001]"
221
- },
222
- "send_modify_order": {
223
- "tr": "TTTT1004U",
224
- "url": "trading/order-rvsecncl",
225
- "activate": true,
226
- "__comment__": "해외주식 정정취소주문[v1_해외주식-003]"
227
- },
228
- "send_cancel_order": {
229
- "tr": "TTTT1004U",
230
- "url": "trading/order-rvsecncl",
231
- "activate": true,
232
- "__comment__": "해외주식 정정취소주문[v1_해외주식-003]"
233
- },
234
- "fetch_opened_order": {
235
- "tr": "TTTS3018R",
236
- "url": "trading/inquire-nccs",
237
- "activate": true,
238
- "__comment__": "해외주식 미체결내역[v1_해외주식-005]"
239
- },
240
- "fetch_closed_order": {
241
- "tr": "TTTS3035R",
242
- "url": "trading/inquire-ccnl",
243
- "activate": true,
244
- "__comment__": "해외주식 주문체결내역[v1_해외주식-007]"
245
- },
246
- "fetch_balance": {
247
- "tr": "TTTS3012R",
248
- "url": "trading/inquire-balance",
249
- "activate": true,
250
- "__comment__": "해외주식 잔고[v1_해외주식-006]"
251
- },
252
- "fetch_cash": {
253
- "tr": "CTRP6504R",
254
- "url": "trading/inquire-present-balance",
255
- "activate": true,
256
- "__comment__": "해외주식 체결기준현재잔고[v1_해외주식-008]"
257
- },
258
- "can_entry_cash": {
259
- "tr": "TTTS3007R",
260
- "url": "trading/inquire-psamount",
261
- "activate": true,
262
- "__comment__": "해외주식 매수가능금액조회[v1_해외주식-014]"
263
- },
264
- "fetch_realized_profit_n_loss": {
265
- "tr": "TTTS3039R",
266
- "url": "trading/inquire-period-profit",
267
- "activate": true,
268
- "__comment__": "해외주식 기간손익[v1_해외주식-032]"
269
- }
270
- },
271
- "feeder": {
272
- "foldername": "uapi/overseas-price",
273
- "fetch_ticker_price": {
274
- "tr": "HHDFS00000300",
275
- "url": "quotations/price",
276
- "activate": true,
277
- "__comment__": "해외주식 현재체결가[v1_해외주식-009]"
278
- },
279
- "fetch_ohlcv_stock": {
280
- "tr": "HHDFS76240000",
281
- "url": "quotations/dailyprice",
282
- "activate": true,
283
- "__comment__": "해외주식 기간별시세[v1_해외주식-010]"
284
- },
285
- "fetch_ohlcv_index": {
286
- "tr": "FHKST03030100",
287
- "url": "quotations/inquire-daily-chartprice",
288
- "activate": true,
289
- "__comment__": "해외주식 종목/지수/환율기간별시세(일/주/월/년)[v1_해외주식-012]"
290
- },
291
- "fetch_screener": {
292
- "tr": "HHDFS76410000",
293
- "url": "quotations/inquire-search",
294
- "activate": true,
295
- "__comment__": "해외주식조건검색[v1_해외주식-015]"
296
- },
297
- "fetch_available_cash": {
298
- "tr": "CTOS5011R",
299
- "url": "quotations/countries-holiday",
300
- "activate": true,
301
- "__comment__": "해외결제일자조회"
302
- },
303
- "fetch_stock_info": {
304
- "tr": "HHDFS76200200",
305
- "url": "quotations/price-detail",
306
- "activate": true,
307
- "__comment__": "해외주식 현재가상세[v1_해외주식-029]"
308
- },
309
- "fetch_ohlcv_stock_minute": {
310
- "tr": "HHDFS76950200",
311
- "url": "quotations/inquire-time-itemchartprice",
312
- "activate": true,
313
- "__comment__": "해외주식분봉조회[v1_해외주식-030]"
314
- },
315
- "fetch_ohlcv_index_minute": {
316
- "tr": "FHKST03030200",
317
- "url": "quotations/inquire-time-indexchartprice",
318
- "activate": true,
319
- "__comment__": "해외지수분봉조회[v1_해외주식-031]"
320
- }
321
- }
322
- },
323
- "oversea_derivative" : {
324
- }
325
- },
326
- "websocket": {
327
- "stock": {
328
- "hostname": "ops.koreainvestment.com:21000",
329
- "watch_ticker_price": {
330
- "tr": "H0STCNT0",
331
- "url": "/tryitout/H0STCNT0",
332
- "activate": true,
333
- "__comment__": "국내주식 실시간체결가[실시간-003]"
334
- },
335
- "watch_spread": {
336
- "tr": "H0STASP0",
337
- "url": "/tryitout/H0STASP0",
338
- "activate": true,
339
- "__comment__": "국내주식 실시간호가[실시간-004]"
340
- },
341
- "watch_order_book": {
342
- "tr": "H0STCNI0",
343
- "url": "/tryitout/H0STCNI0",
344
- "activate": true,
345
- "__comment__": "국내주식 실시간체결통보[실시간-005]"
346
- }
347
- },
348
- "derivative" : {
349
- },
350
- "oversea_stock" : {
351
- "hostname": "ops.koreainvestment.com:21000",
352
- "watch_ticker_price": {
353
- "tr": "HDFSCNT0",
354
- "url": "/tryitout/HDFSCNT0",
355
- "activate": true,
356
- "__comment__": "해외주식 실시간지연체결가[실시간-007]"
357
- },
358
- "watch_spread_asia": {
359
- "tr": "HDFSASP1",
360
- "url": "/tryitout/HDFSASP1",
361
- "activate": true,
362
- "__comment__": "해외주식 실시간지연호가(아시아)[실시간-008]"
363
- },
364
- "watch_spread_us": {
365
- "tr": "HDFSASP0",
366
- "url": "/tryitout/HDFSASP0",
367
- "activate": true,
368
- "__comment__": "해외주식 실시간호가(미국)[실시간호가-021]"
369
- },
370
- "watch_order_book": {
371
- "tr": "H0GSCNI0",
372
- "url": "/tryitout/H0GSCNI0",
373
- "activate": true,
374
- "__comment__": "해외주식 실시간체결통보[실시간-009]"
375
- }
376
- },
377
- "oversea_derivative" : {
378
- }
379
- }
380
- }
381
- }