ksxt 1.0.1__tar.gz → 1.0.3__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 (140) hide show
  1. {ksxt-1.0.1/src/ksxt.egg-info → ksxt-1.0.3}/PKG-INFO +1 -1
  2. {ksxt-1.0.1 → ksxt-1.0.3}/pyproject.toml +1 -1
  3. ksxt-1.0.3/src/ksxt/__pycache__/__init__.cpython-312.pyc +0 -0
  4. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/__pycache__/bithumb.cpython-312.pyc +0 -0
  5. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/__pycache__/koreainvest.cpython-312.pyc +0 -0
  6. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/__pycache__/upbit.cpython-312.pyc +0 -0
  7. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/__pycache__/__init__.cpython-312.pyc +0 -0
  8. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/__pycache__/bithumb.cpython-312.pyc +0 -0
  9. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/__pycache__/koreainvest.cpython-312.pyc +0 -0
  10. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/__pycache__/upbit.cpython-312.pyc +0 -0
  11. ksxt-1.0.3/src/ksxt/api/auto/__pycache__/bithumb.cpython-312.pyc +0 -0
  12. ksxt-1.0.3/src/ksxt/api/auto/__pycache__/koreainvest.cpython-312.pyc +0 -0
  13. ksxt-1.0.3/src/ksxt/api/auto/__pycache__/upbit.cpython-312.pyc +0 -0
  14. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/__pycache__/__init__.cpython-312.pyc +0 -0
  15. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/__pycache__/bithumb.cpython-312.pyc +0 -0
  16. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/__pycache__/koreainvest.cpython-312.pyc +0 -0
  17. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/__pycache__/upbit.cpython-312.pyc +0 -0
  18. ksxt-1.0.3/src/ksxt/async_/base/__pycache__/__init__.cpython-312.pyc +0 -0
  19. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/base/__pycache__/async_exchange.cpython-312.pyc +0 -0
  20. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/base/__pycache__/throttler.cpython-312.pyc +0 -0
  21. ksxt-1.0.3/src/ksxt/base/__pycache__/__init__.cpython-312.pyc +0 -0
  22. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/__pycache__/errors.cpython-312.pyc +0 -0
  23. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/__pycache__/exchange.cpython-312.pyc +0 -0
  24. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/__pycache__/rate_limiter.cpython-312.pyc +0 -0
  25. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/__pycache__/rest_exchange.cpython-312.pyc +0 -0
  26. ksxt-1.0.3/src/ksxt/base/__pycache__/types.cpython-312.pyc +0 -0
  27. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/exchange.py +3 -3
  28. ksxt-1.0.3/src/ksxt/config/__pycache__/__init__.cpython-312.pyc +0 -0
  29. ksxt-1.0.3/src/ksxt/config/token.toml +7 -0
  30. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/__pycache__/base.cpython-312.pyc +0 -0
  31. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/__pycache__/db.cpython-312.pyc +0 -0
  32. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/__pycache__/logging.cpython-312.pyc +0 -0
  33. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/__pycache__/manager.cpython-312.pyc +0 -0
  34. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/__pycache__/markets.cpython-312.pyc +0 -0
  35. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/krx/__pycache__/kosdaq.cpython-312.pyc +0 -0
  36. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/krx/__pycache__/kospi.cpython-312.pyc +0 -0
  37. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/krx/__pycache__/stock.cpython-312.pyc +0 -0
  38. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/us/__pycache__/amex.cpython-312.pyc +0 -0
  39. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/us/__pycache__/nasdaq.cpython-312.pyc +0 -0
  40. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/us/__pycache__/nyse.cpython-312.pyc +0 -0
  41. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/us/__pycache__/stock.cpython-312.pyc +0 -0
  42. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__pycache__/__init__.cpython-312.pyc +0 -0
  43. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__pycache__/balance.cpython-312.pyc +0 -0
  44. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__pycache__/cash.cpython-312.pyc +0 -0
  45. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__pycache__/common.cpython-312.pyc +0 -0
  46. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__pycache__/error.cpython-312.pyc +0 -0
  47. ksxt-1.0.3/src/ksxt/models/__pycache__/historical.cpython-312.pyc +0 -0
  48. ksxt-1.0.3/src/ksxt/models/__pycache__/market.cpython-312.pyc +0 -0
  49. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__pycache__/order.cpython-312.pyc +0 -0
  50. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__pycache__/orderbook.cpython-312.pyc +0 -0
  51. ksxt-1.0.3/src/ksxt/models/__pycache__/ticker.cpython-312.pyc +0 -0
  52. ksxt-1.0.3/src/ksxt/models/__pycache__/token.cpython-312.pyc +0 -0
  53. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__pycache__/transaction.cpython-312.pyc +0 -0
  54. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/market.py +5 -0
  55. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/parser/__pycache__/bithumb.cpython-312.pyc +0 -0
  56. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/parser/__pycache__/koreainvest.cpython-312.pyc +0 -0
  57. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/parser/__pycache__/parser.cpython-312.pyc +0 -0
  58. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/parser/__pycache__/upbit.cpython-312.pyc +0 -0
  59. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/parser/bithumb.py +6 -4
  60. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/parser/koreainvest.py +2 -0
  61. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/parser/upbit.py +6 -4
  62. ksxt-1.0.3/src/ksxt/utils/__pycache__/safer.cpython-312.pyc +0 -0
  63. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/utils/__pycache__/sorter.cpython-312.pyc +0 -0
  64. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/utils/__pycache__/timer.cpython-312.pyc +0 -0
  65. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/utils/safer.py +3 -3
  66. {ksxt-1.0.1 → ksxt-1.0.3/src/ksxt.egg-info}/PKG-INFO +1 -1
  67. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt.egg-info/SOURCES.txt +3 -0
  68. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt.egg-info/top_level.txt +0 -1
  69. ksxt-1.0.1/src/ksxt/__pycache__/__init__.cpython-312.pyc +0 -0
  70. ksxt-1.0.1/src/ksxt/async_/base/__pycache__/__init__.cpython-312.pyc +0 -0
  71. ksxt-1.0.1/src/ksxt/base/__pycache__/__init__.cpython-312.pyc +0 -0
  72. ksxt-1.0.1/src/ksxt/base/__pycache__/types.cpython-312.pyc +0 -0
  73. ksxt-1.0.1/src/ksxt/config/__pycache__/__init__.cpython-312.pyc +0 -0
  74. ksxt-1.0.1/src/ksxt/config/token.toml +0 -7
  75. ksxt-1.0.1/src/ksxt/models/__pycache__/historical.cpython-312.pyc +0 -0
  76. ksxt-1.0.1/src/ksxt/models/__pycache__/market.cpython-312.pyc +0 -0
  77. ksxt-1.0.1/src/ksxt/models/__pycache__/ticker.cpython-312.pyc +0 -0
  78. ksxt-1.0.1/src/ksxt/models/__pycache__/token.cpython-312.pyc +0 -0
  79. ksxt-1.0.1/src/ksxt/utils/__pycache__/safer.cpython-312.pyc +0 -0
  80. {ksxt-1.0.1 → ksxt-1.0.3}/LICENSE.txt +0 -0
  81. {ksxt-1.0.1 → ksxt-1.0.3}/MANIFEST.in +0 -0
  82. {ksxt-1.0.1 → ksxt-1.0.3}/README.md +0 -0
  83. {ksxt-1.0.1 → ksxt-1.0.3}/setup.cfg +0 -0
  84. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/__init__.py +0 -0
  85. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/__init__.py +0 -0
  86. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/auto/api_generator.py +0 -0
  87. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/auto/bithumb.py +0 -0
  88. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/auto/koreainvest.py +0 -0
  89. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/auto/upbit.py +0 -0
  90. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/bithumb.py +0 -0
  91. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/koreainvest.py +0 -0
  92. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/api/upbit.py +0 -0
  93. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/__init__.py +0 -0
  94. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/base/__init__.py +0 -0
  95. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/base/async_exchange.py +0 -0
  96. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/bithumb.py +0 -0
  97. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/koreainvest.py +0 -0
  98. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/async_/upbit.py +0 -0
  99. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/__init__.py +0 -0
  100. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/com_exchange.py +0 -0
  101. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/errors.py +0 -0
  102. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/rate_limiter.py +0 -0
  103. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/rest_exchange.py +0 -0
  104. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/base/types.py +0 -0
  105. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/bithumb.py +0 -0
  106. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/config/__init__.py +0 -0
  107. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/config/bithumb.toml +0 -0
  108. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/config/koreainvest.toml +0 -0
  109. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/config/upbit.toml +0 -0
  110. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/koreainvest.py +0 -0
  111. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/base.py +0 -0
  112. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/db.py +0 -0
  113. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/krx/kosdaq.py +0 -0
  114. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/krx/kospi.py +0 -0
  115. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/krx/stock.py +0 -0
  116. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/logging.py +0 -0
  117. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/manager.py +0 -0
  118. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/markets.py +0 -0
  119. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/us/amex.py +0 -0
  120. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/us/nasdaq.py +0 -0
  121. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/us/nyse.py +0 -0
  122. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/market/us/stock.py +0 -0
  123. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/__init__.py +0 -0
  124. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/balance.py +0 -0
  125. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/cash.py +0 -0
  126. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/common.py +0 -0
  127. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/error.py +0 -0
  128. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/historical.py +0 -0
  129. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/order.py +0 -0
  130. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/orderbook.py +0 -0
  131. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/ticker.py +0 -0
  132. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/token.py +0 -0
  133. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/models/transaction.py +0 -0
  134. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/parser/parser.py +0 -0
  135. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/sample/symbol_sync.ipynb +0 -0
  136. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/upbit.py +0 -0
  137. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/utils/sorter.py +0 -0
  138. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt/utils/timer.py +0 -0
  139. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt.egg-info/dependency_links.txt +0 -0
  140. {ksxt-1.0.1 → ksxt-1.0.3}/src/ksxt.egg-info/requires.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ksxt
3
- Version: 1.0.1
3
+ Version: 1.0.3
4
4
  License: MIT License
5
5
 
6
6
  Copyright © 2023 AMOSA
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
8
8
 
9
9
  [project]
10
10
  name = "ksxt"
11
- version = "1.0.1"
11
+ version = "1.0.3"
12
12
  readme = "README.md"
13
13
  license = { file="LICENSE.txt" }
14
14
 
@@ -1,10 +1,10 @@
1
1
  import collections
2
- from distutils.util import strtobool
3
2
  import json
4
3
  from datetime import datetime
5
4
  import time
6
5
  import pytz
7
6
  from typing import Dict, Optional
7
+ import ast
8
8
 
9
9
  from requests import Session
10
10
  import urllib.parse as _urlencode
@@ -480,8 +480,8 @@ class Exchange:
480
480
  return default_value
481
481
 
482
482
  try:
483
- return bool(strtobool(value))
484
- except Exception:
483
+ return bool(ast.literal_eval(value.capitalize()))
484
+ except (ValueError, SyntaxError):
485
485
  return default_value
486
486
 
487
487
  # endregion safe method
@@ -0,0 +1,7 @@
1
+ [PSXkvBM1hQXJDRHg2rLvC7Tr8SoyPudlbx9o]
2
+ token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0b2tlbiIsImF1ZCI6ImQ0N2EzYjY4LTlkMjQtNGE3YS04YmU2LTNjOWI5MzVmZDZhZCIsInByZHRfY2QiOiIiLCJpc3MiOiJ1bm9ndyIsImV4cCI6MTcyMzAzOTYzOSwiaWF0IjoxNzIyOTUzMjM5LCJqdGkiOiJQU1hrdkJNMWhRWEpEUkhnMnJMdkM3VHI4U295UHVkbGJ4OW8ifQ.573I5Sdj6339IWT5gxhdTFFeWCJDu_ukVAu5QbH9X_SU_laTjhFPttlKBn3HJZzmhYBV89BBcwnYiCwGFU9PFg"
3
+ expired = 2024-08-07T23:07:19
4
+
5
+ [PSo9UuHWHtg1QzRkyu1WeXYERyUkpRK9LSii]
6
+ token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0b2tlbiIsImF1ZCI6ImNhY2NjNGZhLWMxMzktNGE5MC1hNjg2LTI2OTVmZmNiZmQ0NyIsInByZHRfY2QiOiIiLCJpc3MiOiJ1bm9ndyIsImV4cCI6MTcyMzM3ODExNSwiaWF0IjoxNzIzMjkxNzE1LCJqdGkiOiJQU285VXVIV0h0ZzFRelJreXUxV2VYWUVSeVVrcFJLOUxTaWkifQ.EnsBporS5hoD7Prx_fvXoklkxvx1u0Swp3jL9MXv3GnXtU_totbAtfDqsHWexQGJNqgEAPe6Bd2L2M0rCNUpCg"
7
+ expired = 2024-08-11T21:08:35
@@ -35,6 +35,11 @@ class SecurityData(BaseModel):
35
35
  # 최대 매도 주문 수량
36
36
  ask_max_qty: Optional[float] = 0
37
37
 
38
+ # 매수 주문 금액 단위
39
+ bid_amount_unit: Optional[float] = 0
40
+ # 매도 주문 금액 단위
41
+ ask_amount_unit: Optional[float] = 0
42
+
38
43
  # 최소 매수 주문 금액
39
44
  bid_min_amount: Optional[float] = 0
40
45
  # 최소 매도 주문 금액
@@ -222,10 +222,12 @@ class BithumbParser(BaseParser):
222
222
  type="crypto",
223
223
  bid_qty_unit=safer.safe_number(market_info["bid"], "price_unit"),
224
224
  ask_qty_unit=safer.safe_number(market_info["ask"], "price_unit"),
225
- bid_min_qty=safer.safe_number(market_info["bid"], "min_total"),
226
- ask_min_qty=safer.safe_number(market_info["ask"], "min_total"),
227
- bid_max_qty=safer.safe_number(market_info, "max_total"),
228
- ask_max_qty=safer.safe_number(market_info, "max_total"),
225
+ bid_min_qty=0,
226
+ ask_min_qty=0,
227
+ bid_max_qty=0,
228
+ ask_max_qty=0,
229
+ bid_amount_unit=1,
230
+ ask_amount_unit=1,
229
231
  bid_min_amount=safer.safe_number(market_info["bid"], "min_total"),
230
232
  ask_min_amount=safer.safe_number(market_info["ask"], "min_total"),
231
233
  bid_max_amount=safer.safe_number(market_info, "max_total"),
@@ -210,6 +210,8 @@ class KoreaInvestParser(BaseParser):
210
210
  ask_min_qty=0, # TODO : where is information?
211
211
  bid_max_qty=0, # TODO : where is information?
212
212
  ask_max_qty=0, # TODO : where is information?
213
+ bid_amount_unit=1, # TODO: where is information?
214
+ ask_amount_unit=1, # TODO : where is information?
213
215
  bid_min_amount=0, # TODO : where is information?
214
216
  ask_min_amount=0, # TODO : where is information?
215
217
  bid_max_amount=0, # TODO : where is information?
@@ -228,10 +228,12 @@ class UpbitParser(BaseParser):
228
228
  type="crypto",
229
229
  bid_qty_unit=safer.safe_number(market_info.get("bid", {}), "price_unit"),
230
230
  ask_qty_unit=safer.safe_number(market_info.get("ask", {}), "price_unit"),
231
- bid_min_qty=safer.safe_number(market_info.get("bid", {}), "min_total"),
232
- ask_min_qty=safer.safe_number(market_info.get("ask", {}), "min_total"),
233
- bid_max_qty=safer.safe_number(market_info, "max_total"),
234
- ask_max_qty=safer.safe_number(market_info, "max_total"),
231
+ bid_min_qty=0,
232
+ ask_min_qty=0,
233
+ bid_max_qty=0,
234
+ ask_max_qty=0,
235
+ bid_amount_unit=1,
236
+ ask_amount_unit=1,
235
237
  bid_min_amount=safer.safe_number(market_info.get("bid", {}), "min_total"),
236
238
  ask_min_amount=safer.safe_number(market_info.get("ask", {}), "min_total"),
237
239
  bid_max_amount=safer.safe_number(market_info, "max_total"),
@@ -1,4 +1,4 @@
1
- from distutils.util import strtobool
1
+ import ast
2
2
 
3
3
 
4
4
  @staticmethod
@@ -43,6 +43,6 @@ def safe_boolean(dictionary, key, default_value=False):
43
43
  return default_value
44
44
 
45
45
  try:
46
- return bool(strtobool(value))
47
- except Exception:
46
+ return bool(ast.literal_eval(value.capitalize()))
47
+ except (ValueError, SyntaxError):
48
48
  return default_value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ksxt
3
- Version: 1.0.1
3
+ Version: 1.0.3
4
4
  License: MIT License
5
5
 
6
6
  Copyright © 2023 AMOSA
@@ -27,6 +27,9 @@ src/ksxt/api/auto/api_generator.py
27
27
  src/ksxt/api/auto/bithumb.py
28
28
  src/ksxt/api/auto/koreainvest.py
29
29
  src/ksxt/api/auto/upbit.py
30
+ src/ksxt/api/auto/__pycache__/bithumb.cpython-312.pyc
31
+ src/ksxt/api/auto/__pycache__/koreainvest.cpython-312.pyc
32
+ src/ksxt/api/auto/__pycache__/upbit.cpython-312.pyc
30
33
  src/ksxt/async_/__init__.py
31
34
  src/ksxt/async_/bithumb.py
32
35
  src/ksxt/async_/koreainvest.py
@@ -1,7 +0,0 @@
1
- [PS80UIBxOj1XGF1Dl9eRdJa8mVRtQqvnV2y1]
2
- token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0b2tlbiIsImF1ZCI6IjJkMWE4MjI0LTVlMjgtNGMwYy1hMTZmLWZmNTFhOGFmMDY2MiIsInByZHRfY2QiOiIiLCJpc3MiOiJ1bm9ndyIsImV4cCI6MTcxNzMxNDQ2MywiaWF0IjoxNzE3MjI4MDYzLCJqdGkiOiJQUzgwVUlCeE9qMVhHRjFEbDllUmRKYThtVlJ0UXF2blYyeTEifQ.8G5fotvUupZonIAsEEGEC0810sqGayj08-recM4smwdRA23-fE2HISzl4HY9wHlPtkYwVMr0svZlo9HIrR-mlw"
3
- expired = "2024-06-02 16:47:43"
4
-
5
- [PSCWKArP3T1L4qMgyZ4DXIDlqcaK48jJW1J5]
6
- token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0b2tlbiIsImF1ZCI6IjVjMWYzMWZhLTViYzEtNGM1OS04OGY1LTk5OTU5NmExMmMzMCIsInByZHRfY2QiOiIiLCJpc3MiOiJ1bm9ndyIsImV4cCI6MTcxODAwNDQ4NywiaWF0IjoxNzE3OTE4MDg3LCJqdGkiOiJQU0NXS0FyUDNUMUw0cU1neVo0RFhJRGxxY2FLNDhqSlcxSjUifQ.D6R4xlYKqZQykIyQUA5SgB6vxIEG33f_m_MzSrB9xGRdVKjcr0CyMleWeenyTZLAu6hQpu-3133uYachjI1zjw"
7
- expired = "2024-06-10 16:28:07"
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