ksxt 1.0.3__py3-none-any.whl → 1.0.5__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.
- ksxt/__pycache__/bithumb.cpython-312.pyc +0 -0
- ksxt/__pycache__/koreainvest.cpython-312.pyc +0 -0
- ksxt/__pycache__/upbit.cpython-312.pyc +0 -0
- ksxt/api/__pycache__/bithumb.cpython-312.pyc +0 -0
- ksxt/api/__pycache__/koreainvest.cpython-312.pyc +0 -0
- ksxt/api/__pycache__/upbit.cpython-312.pyc +0 -0
- ksxt/async_/__pycache__/bithumb.cpython-312.pyc +0 -0
- ksxt/async_/__pycache__/koreainvest.cpython-312.pyc +0 -0
- ksxt/async_/__pycache__/upbit.cpython-312.pyc +0 -0
- ksxt/async_/base/__pycache__/async_exchange.cpython-312.pyc +0 -0
- ksxt/async_/base/async_exchange.py +19 -17
- ksxt/async_/bithumb.py +41 -21
- ksxt/async_/koreainvest.py +80 -8
- ksxt/async_/upbit.py +58 -22
- ksxt/base/__pycache__/exchange.cpython-312.pyc +0 -0
- ksxt/base/__pycache__/rest_exchange.cpython-312.pyc +0 -0
- ksxt/base/exchange.py +33 -66
- ksxt/base/rest_exchange.py +28 -29
- ksxt/bithumb.py +33 -14
- ksxt/koreainvest.py +30 -8
- ksxt/models/__pycache__/transaction.cpython-312.pyc +0 -0
- ksxt/models/transaction.py +2 -0
- ksxt/parser/__pycache__/bithumb.cpython-312.pyc +0 -0
- ksxt/parser/__pycache__/koreainvest.cpython-312.pyc +0 -0
- ksxt/parser/__pycache__/parser.cpython-312.pyc +0 -0
- ksxt/parser/__pycache__/upbit.cpython-312.pyc +0 -0
- ksxt/parser/bithumb.py +102 -12
- ksxt/parser/koreainvest.py +66 -12
- ksxt/parser/parser.py +25 -7
- ksxt/parser/upbit.py +106 -16
- ksxt/upbit.py +48 -18
- {ksxt-1.0.3.dist-info → ksxt-1.0.5.dist-info}/METADATA +1 -1
- {ksxt-1.0.3.dist-info → ksxt-1.0.5.dist-info}/RECORD +36 -36
- {ksxt-1.0.3.dist-info → ksxt-1.0.5.dist-info}/WHEEL +1 -1
- {ksxt-1.0.3.dist-info → ksxt-1.0.5.dist-info}/LICENSE.txt +0 -0
- {ksxt-1.0.3.dist-info → ksxt-1.0.5.dist-info}/top_level.txt +0 -0
ksxt/upbit.py
CHANGED
@@ -2,7 +2,7 @@ import hashlib
|
|
2
2
|
import json
|
3
3
|
import time
|
4
4
|
import uuid
|
5
|
-
from datetime import datetime
|
5
|
+
from datetime import datetime, timezone
|
6
6
|
from typing import Any, Dict, List, Literal, Optional
|
7
7
|
from urllib.parse import urlencode
|
8
8
|
|
@@ -123,10 +123,19 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
123
123
|
return ksxt.models.KsxtMarketResponse(header=common_header, response=common_response, info=parsed_info)
|
124
124
|
|
125
125
|
def fetch_historical_data(
|
126
|
-
self,
|
126
|
+
self,
|
127
|
+
symbol: str,
|
128
|
+
time_frame: str,
|
129
|
+
start: datetime | None = None,
|
130
|
+
end: datetime | None = None,
|
131
|
+
base_market: str = "KRW",
|
127
132
|
) -> ksxt.models.KsxtHistoricalDataResponse:
|
128
133
|
params = {"market": self.safe_symbol(base_market, symbol), "count": 200}
|
129
134
|
|
135
|
+
if end:
|
136
|
+
end_utc = end.astimezone(timezone.utc)
|
137
|
+
params.update({"to": end_utc.strftime("%Y-%m-%d %H:%M:%S")})
|
138
|
+
|
130
139
|
# TODO : time_frame 을 어떻게 고정시킬까? 우리는 분봉, 일봉, 주봉, 월봉 만 지원한다고 가정하면?
|
131
140
|
if time_frame.endswith("m"):
|
132
141
|
# TODO : parse number
|
@@ -152,9 +161,13 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
152
161
|
if common_response.success != "0":
|
153
162
|
return ksxt.models.KsxtHistoricalDataResponse(header=common_header, response=common_response, info=None)
|
154
163
|
|
155
|
-
|
164
|
+
parsed_response = self.parser.parse_historical_data(
|
165
|
+
response=response, symbol=symbol, start=start, end=end, base_market=base_market
|
166
|
+
)
|
156
167
|
|
157
|
-
return ksxt.models.KsxtHistoricalDataResponse(
|
168
|
+
return ksxt.models.KsxtHistoricalDataResponse(
|
169
|
+
header=common_header, response=common_response, info=parsed_response
|
170
|
+
)
|
158
171
|
|
159
172
|
def fetch_ticker(self, symbol: str, base_market: str = "KRW") -> ksxt.models.KsxtTickerResponse:
|
160
173
|
params = {"markets": self.safe_symbol(base_market, symbol)} # 다중 조회 시, 콤마로 구분 ex. 'KRW-BTC, BTC-ETH'
|
@@ -224,7 +237,9 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
224
237
|
|
225
238
|
return ksxt.models.KsxtMultiOrderBookResponse(header=common_header, response=common_response, info=parsed_info)
|
226
239
|
|
227
|
-
def fetch_balance(
|
240
|
+
def fetch_balance(
|
241
|
+
self, acc_num: str, base_market: str = "KRW", excluded_symbols: Optional[list[str]] = None
|
242
|
+
) -> ksxt.models.KsxtBalanceResponse:
|
228
243
|
params = {}
|
229
244
|
|
230
245
|
common_header = self.create_common_header(request_params=params)
|
@@ -235,7 +250,9 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
235
250
|
if common_response.success != "0":
|
236
251
|
return ksxt.models.KsxtBalanceResponse(header=common_header, response=common_response, info=None)
|
237
252
|
|
238
|
-
parsed_info = self.parser.parse_balance(
|
253
|
+
parsed_info = self.parser.parse_balance(
|
254
|
+
response=response, base_market=base_market, excluded_symbols=excluded_symbols
|
255
|
+
)
|
239
256
|
|
240
257
|
return ksxt.models.KsxtBalanceResponse(header=common_header, response=common_response, info=parsed_info)
|
241
258
|
|
@@ -331,8 +348,8 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
331
348
|
self,
|
332
349
|
acc_num: str,
|
333
350
|
symbol: Optional[str] = "",
|
334
|
-
start:
|
335
|
-
end:
|
351
|
+
start: datetime | None = None,
|
352
|
+
end: datetime | None = None,
|
336
353
|
base_market: str = "KRW",
|
337
354
|
) -> ksxt.models.KsxtClosedOrderResponse:
|
338
355
|
params = {"state": "done"}
|
@@ -348,16 +365,18 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
348
365
|
if common_response.success != "0":
|
349
366
|
return ksxt.models.KsxtClosedOrderResponse(header=common_header, response=common_response, info=None)
|
350
367
|
|
351
|
-
|
352
|
-
|
368
|
+
# 데이터 파싱
|
369
|
+
parsed_info = self.parser.parse_closed_order_history(
|
370
|
+
response=response, start=start, end=end, base_market=base_market
|
371
|
+
)
|
353
372
|
return ksxt.models.KsxtClosedOrderResponse(header=common_header, response=common_response, info=parsed_info)
|
354
373
|
|
355
374
|
def fetch_open_order(
|
356
375
|
self,
|
357
376
|
acc_num: str,
|
358
|
-
symbol: str
|
359
|
-
start:
|
360
|
-
end:
|
377
|
+
symbol: Optional[str] = "",
|
378
|
+
start: datetime | None = None,
|
379
|
+
end: datetime | None = None,
|
361
380
|
base_market: str = "KRW",
|
362
381
|
) -> ksxt.models.KsxtOpenOrderResponse:
|
363
382
|
params = {"state": "wait"}
|
@@ -373,12 +392,15 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
373
392
|
if common_response.success != "0":
|
374
393
|
return ksxt.models.KsxtOpenOrderResponse(header=common_header, response=common_response, info=None)
|
375
394
|
|
376
|
-
|
395
|
+
# 데이터 파싱
|
396
|
+
parsed_info = self.parser.parse_open_order_history(
|
397
|
+
response=response, start=start, end=end, base_market=base_market
|
398
|
+
)
|
377
399
|
|
378
400
|
return ksxt.models.KsxtOpenOrderResponse(header=common_header, response=common_response, info=parsed_info)
|
379
401
|
|
380
402
|
def fetch_withdrawal_history(
|
381
|
-
self, acc_num: str, base_market: str = "KRW"
|
403
|
+
self, acc_num: str, start: datetime | None = None, end: datetime | None = None, base_market: str = "KRW"
|
382
404
|
) -> ksxt.models.KsxtWithdrawalHistoryResponse:
|
383
405
|
params = {"currency": base_market, "state": "DONE"}
|
384
406
|
|
@@ -390,13 +412,18 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
390
412
|
if common_response.success != "0":
|
391
413
|
return ksxt.models.KsxtWithdrawalHistoryResponse(header=common_header, response=common_response, info=None)
|
392
414
|
|
393
|
-
|
415
|
+
# 데이터 파싱
|
416
|
+
parsed_info = self.parser.parse_withdrawal_history(
|
417
|
+
response=response, start=start, end=end, base_market=base_market
|
418
|
+
)
|
394
419
|
|
395
420
|
return ksxt.models.KsxtWithdrawalHistoryResponse(
|
396
421
|
header=common_header, response=common_response, info=parsed_info
|
397
422
|
)
|
398
423
|
|
399
|
-
def fetch_deposit_history(
|
424
|
+
def fetch_deposit_history(
|
425
|
+
self, acc_num: str, start: datetime | None = None, end: datetime | None = None, base_market: str = "KRW"
|
426
|
+
) -> ksxt.models.KsxtDepositHistoryResponse:
|
400
427
|
params = {"currency": base_market, "state": "ACCEPTED"}
|
401
428
|
|
402
429
|
common_header = self.create_common_header(request_params=params)
|
@@ -407,7 +434,10 @@ class Upbit(RestExchange, ImplicitAPI):
|
|
407
434
|
if common_response.success != "0":
|
408
435
|
return ksxt.models.KsxtDepositHistoryResponse(header=common_header, response=common_response, info=None)
|
409
436
|
|
410
|
-
|
437
|
+
# 데이터 파싱
|
438
|
+
parsed_info = self.parser.parse_deposit_history(
|
439
|
+
response=response, start=start, end=end, base_market=base_market
|
440
|
+
)
|
411
441
|
|
412
442
|
return ksxt.models.KsxtDepositHistoryResponse(header=common_header, response=common_response, info=parsed_info)
|
413
443
|
|
@@ -1,19 +1,19 @@
|
|
1
1
|
ksxt/__init__.py,sha256=Q4kbXuxaCcQg5Z1T2z31lrUc5Cr95RIyv-y6hNf3R0E,131
|
2
|
-
ksxt/bithumb.py,sha256=
|
3
|
-
ksxt/koreainvest.py,sha256=
|
4
|
-
ksxt/upbit.py,sha256=
|
2
|
+
ksxt/bithumb.py,sha256=1_pA-dFJvFnrnj5jP5wXy1wLUivPuKNd9SfW6AZwtFk,22149
|
3
|
+
ksxt/koreainvest.py,sha256=ohXxbhPphLmAYPtEmEQw_3kzQOnGn80e2y4K8tdbGb4,20500
|
4
|
+
ksxt/upbit.py,sha256=WE9sTqTOu3409YY3aCxOz0nWdYngP_ylu2BLsNzH7qU,22556
|
5
5
|
ksxt/__pycache__/__init__.cpython-312.pyc,sha256=aBHVFPn-w8foaTpyyvHjFAb4fVLkO3orauFpozqpvv8,309
|
6
|
-
ksxt/__pycache__/bithumb.cpython-312.pyc,sha256
|
7
|
-
ksxt/__pycache__/koreainvest.cpython-312.pyc,sha256=
|
8
|
-
ksxt/__pycache__/upbit.cpython-312.pyc,sha256=
|
6
|
+
ksxt/__pycache__/bithumb.cpython-312.pyc,sha256=68w6VqfuUl-N_oMdl1U0NVoI0GokNpBKAiH90OjQvyA,25447
|
7
|
+
ksxt/__pycache__/koreainvest.cpython-312.pyc,sha256=J6TqEj-oMtdzC9BssoxlCjd8a63xFor_5Ln0B_9hIng,22244
|
8
|
+
ksxt/__pycache__/upbit.cpython-312.pyc,sha256=ha8t5Ubp5CAoz4p9-rcmaaeVnaJjFMEIXdTo4NApJHA,25839
|
9
9
|
ksxt/api/__init__.py,sha256=CZ8AedRG8O9vEdSqTaot5sV3nwpxPZoVOYwrFCLUo6M,736
|
10
10
|
ksxt/api/bithumb.py,sha256=6apoSNoiEOIkR6xQu4rtCSz7sdNdx3BHeu8-m8omh6E,2177
|
11
11
|
ksxt/api/koreainvest.py,sha256=93BASTUUsw39APRFxVqlaOu-keEFuIO3MvHX_6g-AAs,2159
|
12
12
|
ksxt/api/upbit.py,sha256=CQN-A0gVoeNoHTZhH8kCaGk1svaOvo5HDyVFfXou_6A,2704
|
13
13
|
ksxt/api/__pycache__/__init__.cpython-312.pyc,sha256=ADtdUmNtVvjoBuPDCkQpCcl62eIdev63nkOnSu8FRjo,1373
|
14
|
-
ksxt/api/__pycache__/bithumb.cpython-312.pyc,sha256=
|
15
|
-
ksxt/api/__pycache__/koreainvest.cpython-312.pyc,sha256=
|
16
|
-
ksxt/api/__pycache__/upbit.cpython-312.pyc,sha256=
|
14
|
+
ksxt/api/__pycache__/bithumb.cpython-312.pyc,sha256=YCkBbJj8uNqjuxUQF0Ko9X0VSYsteksIbutP09zKrG4,2558
|
15
|
+
ksxt/api/__pycache__/koreainvest.cpython-312.pyc,sha256=sCCOv9RV7cTn6LXVpdFNEqrWakpm97bl5AbA3AMDzMo,2086
|
16
|
+
ksxt/api/__pycache__/upbit.cpython-312.pyc,sha256=exLCsTut235Sryu1WxtFJJgw_k7z2xwwtqh6svw_o3Q,3013
|
17
17
|
ksxt/api/auto/api_generator.py,sha256=R8Q7uFN1wDr_0CUsJJ1nmZhoDBwzjPlKUXrNCsY9QKU,2540
|
18
18
|
ksxt/api/auto/bithumb.py,sha256=n6ctGefq28i5CMiItLF1xOZgeDP9F9em4HXfoPUcmqw,1261
|
19
19
|
ksxt/api/auto/koreainvest.py,sha256=z4Bf3C7g2W-eQP99oBeM_J0mq2D3PkbQaulrDwxJB04,1582
|
@@ -22,30 +22,30 @@ ksxt/api/auto/__pycache__/bithumb.cpython-312.pyc,sha256=s-R5UHnDxV2DxOugrUdHyu2
|
|
22
22
|
ksxt/api/auto/__pycache__/koreainvest.cpython-312.pyc,sha256=kz6DHIlhPARI_GfYsZzwVz7NoQ6We_yCFrMWLpW0JTQ,968
|
23
23
|
ksxt/api/auto/__pycache__/upbit.cpython-312.pyc,sha256=LVxuy6pD2QGXmM1kYou2-xWhb4075o9lkPFDpv2z004,965
|
24
24
|
ksxt/async_/__init__.py,sha256=ztfV65aN2mXamQSfVm3GLYB6cszkvsCSlUyhfe2H_2M,186
|
25
|
-
ksxt/async_/bithumb.py,sha256=
|
26
|
-
ksxt/async_/koreainvest.py,sha256=
|
27
|
-
ksxt/async_/upbit.py,sha256=
|
25
|
+
ksxt/async_/bithumb.py,sha256=pbbiUYz_jwir_ec-vWg6oHMQjgWUQ209WrmESxJ2FG4,20042
|
26
|
+
ksxt/async_/koreainvest.py,sha256=PzIRsAsP2pLkNgxBaiHY3Nq4arYAKW4OA8EE1iMmVGQ,22827
|
27
|
+
ksxt/async_/upbit.py,sha256=y3jwVSccJ9zSLOwiRzShu_q-VZvHpizf7p-cyqMqcT4,22478
|
28
28
|
ksxt/async_/__pycache__/__init__.cpython-312.pyc,sha256=0kYmKTHaRVZMai7hLh6lRtbRBJYn-b7m8NpMgJ7NmHg,378
|
29
|
-
ksxt/async_/__pycache__/bithumb.cpython-312.pyc,sha256=
|
30
|
-
ksxt/async_/__pycache__/koreainvest.cpython-312.pyc,sha256=
|
31
|
-
ksxt/async_/__pycache__/upbit.cpython-312.pyc,sha256=
|
29
|
+
ksxt/async_/__pycache__/bithumb.cpython-312.pyc,sha256=PNU5CWHVwxGesTRb0ZQQU12esCxLDxJh6PTu2wVGytQ,24179
|
30
|
+
ksxt/async_/__pycache__/koreainvest.cpython-312.pyc,sha256=kBFxY26xmn05yXFRpiaqekuo3bLDTcKSBLiFaLupk-8,25452
|
31
|
+
ksxt/async_/__pycache__/upbit.cpython-312.pyc,sha256=Hq-N2dexzioMKo8DkF6cifFhKrdlHMC0nUpnSHt0hGU,27541
|
32
32
|
ksxt/async_/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
|
-
ksxt/async_/base/async_exchange.py,sha256=
|
33
|
+
ksxt/async_/base/async_exchange.py,sha256=pAjsHuSzv9BbU26icfzn0t53TIC62VEJ6Q1oHT4pxQc,9570
|
34
34
|
ksxt/async_/base/__pycache__/__init__.cpython-312.pyc,sha256=6FPlac0sgVrNi5Ln3bOjRTq9zF2XysE9qQXl4j3nKok,151
|
35
|
-
ksxt/async_/base/__pycache__/async_exchange.cpython-312.pyc,sha256
|
35
|
+
ksxt/async_/base/__pycache__/async_exchange.cpython-312.pyc,sha256=gD1kbby6oj6dmQR-cfgqBctsufg-OnxL3rdBi2gAIqE,15640
|
36
36
|
ksxt/async_/base/__pycache__/throttler.cpython-312.pyc,sha256=R-LT5NWQWnX74cdMJYKM1rjSpCGCdN7t1m8V5QUOwK8,3190
|
37
37
|
ksxt/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
38
|
ksxt/base/com_exchange.py,sha256=q7C3Bc5q4ENvNGoghnQCN7YLttgwmFoNj9WsH5qxXNQ,287
|
39
39
|
ksxt/base/errors.py,sha256=msGHmm9YGUOXOaK_VhOUEt5LvIDMMm6G-io8nQbNgA0,141
|
40
|
-
ksxt/base/exchange.py,sha256=
|
40
|
+
ksxt/base/exchange.py,sha256=S-ZKsh--yRHLfZ4-Yx_u5A1CrVEQzsYDb9sjYslCEO0,16098
|
41
41
|
ksxt/base/rate_limiter.py,sha256=9iF6OB-2u0q4nqtng8Tafn-fM3CVQ-DvdNRJ1aSCS3w,3005
|
42
|
-
ksxt/base/rest_exchange.py,sha256=
|
42
|
+
ksxt/base/rest_exchange.py,sha256=vMDvojZsN5YzP1BVPtFdR8UxoF8y-bu655KkJiAkq3o,15952
|
43
43
|
ksxt/base/types.py,sha256=3bd3obJhhX1njy_o4LW8hSAHX2MThOI-mZm6iifwno4,59
|
44
44
|
ksxt/base/__pycache__/__init__.cpython-312.pyc,sha256=bNBz2l_g_6uoMfpg84oTHcjKkwBVVRavk1RlYg6N-to,144
|
45
45
|
ksxt/base/__pycache__/errors.cpython-312.pyc,sha256=Cqv1BFN_hzWP_5aJyEUUQqpG8eDiGmKROqaRmg9CCU8,620
|
46
|
-
ksxt/base/__pycache__/exchange.cpython-312.pyc,sha256=
|
46
|
+
ksxt/base/__pycache__/exchange.cpython-312.pyc,sha256=19yIHgTh1OabVwLIo0r_DXAmkgFCY9hvneu1uhorBks,21259
|
47
47
|
ksxt/base/__pycache__/rate_limiter.cpython-312.pyc,sha256=h1UefCyC3UBW2izVXNt6OXLLXrAcP3ZubJEzdLaoSL4,5416
|
48
|
-
ksxt/base/__pycache__/rest_exchange.cpython-312.pyc,sha256=
|
48
|
+
ksxt/base/__pycache__/rest_exchange.cpython-312.pyc,sha256=NgGJdTGSl1zp1ckXmEl7tWP6VpoBGvbXmRlMboPq978,23036
|
49
49
|
ksxt/base/__pycache__/types.cpython-312.pyc,sha256=7bugAIz0poOTdpogxGqmiFcjhrgCfMDlu1gZ2l3Qo0c,230
|
50
50
|
ksxt/config/__init__.py,sha256=hkQx56FVJD8Gq1A_KzfOqO8BoqJRTX5TnUmqIignnlc,148
|
51
51
|
ksxt/config/bithumb.toml,sha256=JgKgHQVATsLcbxKYvekSRonJ4PjJ5x2ejp1eZHHusrQ,11693
|
@@ -88,7 +88,7 @@ ksxt/models/order.py,sha256=LJJd-licLirI5WrAM1MItViOX_u5U_fmpBFPpDSdHxE,867
|
|
88
88
|
ksxt/models/orderbook.py,sha256=S1c03QBu1hupN87CMWLgEsh8u2GrZ_Z_BcTUuiKGnR0,773
|
89
89
|
ksxt/models/ticker.py,sha256=pPc7GqUOJchLg7qOpKfxhTVpXygF1Otc_M9_KfHFEgY,544
|
90
90
|
ksxt/models/token.py,sha256=eUBoX7O0ffC63BN12-1aUjcfE_R1Ylyxr6_U79FLDv0,319
|
91
|
-
ksxt/models/transaction.py,sha256=
|
91
|
+
ksxt/models/transaction.py,sha256=AOIf3VdIbYNtafyFdDmmO1n5W3teY_GCP5F_erAAq8o,1643
|
92
92
|
ksxt/models/__pycache__/__init__.cpython-312.pyc,sha256=uln0kH0-sy3WsBbbAjvV-E-D6L3Dtb6ph0oQki4yxjQ,1031
|
93
93
|
ksxt/models/__pycache__/balance.cpython-312.pyc,sha256=_r64PniIdeptVO7zbVxYeh6nTH2UCnmnK8EzOr2jPzo,1279
|
94
94
|
ksxt/models/__pycache__/cash.cpython-312.pyc,sha256=XXk7d17aZCvNf0_-pszEHqp0iBVNmT6PGANun6TUUBo,720
|
@@ -100,15 +100,15 @@ ksxt/models/__pycache__/order.cpython-312.pyc,sha256=j5LVaexWVroh3TC3Mrf11dH2prG
|
|
100
100
|
ksxt/models/__pycache__/orderbook.cpython-312.pyc,sha256=Yzm2_c3BjdgWgTMWKPCfwXj4dVxJV-GFG8May6ahfFg,1515
|
101
101
|
ksxt/models/__pycache__/ticker.cpython-312.pyc,sha256=9kKIXZ1a6S_0Fpb3kjccZmrxcD1jYhChIRLvYpgnB6I,1163
|
102
102
|
ksxt/models/__pycache__/token.cpython-312.pyc,sha256=HETJcEemd8gsaz4dLneFM2cqlaFHiXRixzt34_Ejzik,793
|
103
|
-
ksxt/models/__pycache__/transaction.cpython-312.pyc,sha256=
|
104
|
-
ksxt/parser/bithumb.py,sha256=
|
105
|
-
ksxt/parser/koreainvest.py,sha256=
|
106
|
-
ksxt/parser/parser.py,sha256=
|
107
|
-
ksxt/parser/upbit.py,sha256=
|
108
|
-
ksxt/parser/__pycache__/bithumb.cpython-312.pyc,sha256=
|
109
|
-
ksxt/parser/__pycache__/koreainvest.cpython-312.pyc,sha256=
|
110
|
-
ksxt/parser/__pycache__/parser.cpython-312.pyc,sha256=
|
111
|
-
ksxt/parser/__pycache__/upbit.cpython-312.pyc,sha256=
|
103
|
+
ksxt/models/__pycache__/transaction.cpython-312.pyc,sha256=JBag20Aw6sx_-caWqi82Qxm7BgFJR0F4ME0vGugsxII,2821
|
104
|
+
ksxt/parser/bithumb.py,sha256=wGt52wGgFDH7zkWyhhqOg3ABH-tv_YwsoZ3MWcozAQc,17203
|
105
|
+
ksxt/parser/koreainvest.py,sha256=UzZGR6JgLrT9Z2lFH3V-6E-Uj_BnbSHqqHB0Pr7gaKQ,16684
|
106
|
+
ksxt/parser/parser.py,sha256=Ic40whJb2osDWuctVBjeFLYSXItcONAtawKkFbhHySw,5694
|
107
|
+
ksxt/parser/upbit.py,sha256=tDbt0Dhd6HG4qXe7OuzLks0zx8era3meSRafYRIGTWA,17746
|
108
|
+
ksxt/parser/__pycache__/bithumb.cpython-312.pyc,sha256=O_9hCKXYGnmjfaJWwzlT0Sqs0sjNxyDmT9W_yADmgwA,21282
|
109
|
+
ksxt/parser/__pycache__/koreainvest.cpython-312.pyc,sha256=PxFVti7Q-zhFwEmJxOPmDqyPH7pOHYsfi-Yy3nckL-c,20111
|
110
|
+
ksxt/parser/__pycache__/parser.cpython-312.pyc,sha256=U_FtyOVWAAeCUsH1QU41Yw2u6bu06sqF72Tv_tBJWpU,8910
|
111
|
+
ksxt/parser/__pycache__/upbit.cpython-312.pyc,sha256=NOtBxO5IHbzIH6S5octbpqU4T0J9CpOw2VSJjHA-eOs,22384
|
112
112
|
ksxt/sample/symbol_sync.ipynb,sha256=dnUOgEKdUuEkDo_6LZjmDtVuNh4PPmCN4Ht7Pz-0L9Y,640081
|
113
113
|
ksxt/utils/safer.py,sha256=tlXDU9KDxrrM0HT2bv45hkblIgbEYr02NygdYS0jj6c,1289
|
114
114
|
ksxt/utils/sorter.py,sha256=j7eN1Qy7Wx3cXcWyRWyO1fVq-M24TrXvcfewPR5axF4,227
|
@@ -116,8 +116,8 @@ ksxt/utils/timer.py,sha256=4_rhXdQDFkKshS5utWrgTteIe71tVSTL1zNW-IjOngM,1228
|
|
116
116
|
ksxt/utils/__pycache__/safer.cpython-312.pyc,sha256=oPbGln-szGLBGYR0JVFxjE5v3jbzsSvGhqbmFSIcJQE,1989
|
117
117
|
ksxt/utils/__pycache__/sorter.cpython-312.pyc,sha256=4vNlq0bWtItRlsRjXANLnBuThidmM6m_0YY_-PLA2Go,624
|
118
118
|
ksxt/utils/__pycache__/timer.cpython-312.pyc,sha256=IXsQV8yPC92ExFaWgvwn-MgEfiLZxSP5pjU6xqYx8Sw,2003
|
119
|
-
ksxt-1.0.
|
120
|
-
ksxt-1.0.
|
121
|
-
ksxt-1.0.
|
122
|
-
ksxt-1.0.
|
123
|
-
ksxt-1.0.
|
119
|
+
ksxt-1.0.5.dist-info/LICENSE.txt,sha256=vyuXQcPOZ9BriMQz3h1k3jQTrKGsAjohf8WQHHf6xqo,1080
|
120
|
+
ksxt-1.0.5.dist-info/METADATA,sha256=ha9_CoiYs1RP85pPFK69W1o7y1cHZPnlRtm6csp7Pec,1649
|
121
|
+
ksxt-1.0.5.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
122
|
+
ksxt-1.0.5.dist-info/top_level.txt,sha256=XLUhkZCur5Pe0BPUV3J0syngIPz7jBb2YlQR4epo5kI,5
|
123
|
+
ksxt-1.0.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|