kiwoom-cli 0.6.2__tar.gz → 0.7.0__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.
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/PKG-INFO +1 -1
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/__init__.py +1 -1
- kiwoom_cli-0.7.0/kiwoom_cli/commands/_constants.py +9 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/account.py +1 -8
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/dashboard.py +5 -7
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/market.py +171 -202
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/stock.py +30 -64
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/formatters.py +53 -6
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/PKG-INFO +1 -1
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/SOURCES.txt +1 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/pyproject.toml +1 -1
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/tests/test_cli.py +1 -1
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/LICENSE +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/README.md +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/api_spec.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/auth.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/client.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/__init__.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/order.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/stream.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/watch.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/config.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/main.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/output.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/secure_store.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/streaming.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/dependency_links.txt +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/entry_points.txt +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/requires.txt +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/top_level.txt +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/setup.cfg +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/tests/test_client.py +0 -0
- {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/tests/test_formatters.py +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"""Shared lookup maps for CLI option value -> API value conversion."""
|
|
2
|
+
|
|
3
|
+
MARKET_ALL = {"all": "000", "kospi": "001", "kosdaq": "101"}
|
|
4
|
+
MARKET_TWO = {"kospi": "001", "kosdaq": "101"}
|
|
5
|
+
MARKET_KOSPI_KOSDAQ = {"kospi": "0", "kosdaq": "1"}
|
|
6
|
+
MARKET_PROGRAM = {"kospi": "P00101", "kosdaq": "P10102"}
|
|
7
|
+
MARKET_SEARCH = {"kospi": "0", "kosdaq": "10", "k-otc": "30", "konex": "50", "etf": "8", "elw": "3"}
|
|
8
|
+
EXCHANGE_TWO = {"KRX": "1", "NXT": "2"}
|
|
9
|
+
EXCHANGE_ALL = {"KRX": "1", "NXT": "2", "all": "3"}
|
|
@@ -8,6 +8,7 @@ import click
|
|
|
8
8
|
|
|
9
9
|
from ..client import KiwoomClient
|
|
10
10
|
from ..formatters import (
|
|
11
|
+
_find_list,
|
|
11
12
|
print_account_eval,
|
|
12
13
|
print_deposit,
|
|
13
14
|
print_generic_table,
|
|
@@ -20,14 +21,6 @@ def _today() -> str:
|
|
|
20
21
|
return datetime.now().strftime("%Y%m%d")
|
|
21
22
|
|
|
22
23
|
|
|
23
|
-
def _find_list(data: dict) -> list | None:
|
|
24
|
-
"""Find the first list value in API response."""
|
|
25
|
-
for k, v in data.items():
|
|
26
|
-
if isinstance(v, list) and k not in ("return_code", "return_msg"):
|
|
27
|
-
return v
|
|
28
|
-
return None
|
|
29
|
-
|
|
30
|
-
|
|
31
24
|
@click.group("account")
|
|
32
25
|
def account():
|
|
33
26
|
"""계좌 정보 조회."""
|
|
@@ -11,6 +11,7 @@ from rich.text import Text
|
|
|
11
11
|
|
|
12
12
|
from ..client import KiwoomClient, KiwoomAPIError
|
|
13
13
|
from ..formatters import (
|
|
14
|
+
_calc_eval_pl,
|
|
14
15
|
_fmt_number,
|
|
15
16
|
_get_format,
|
|
16
17
|
_sign_color,
|
|
@@ -31,13 +32,10 @@ def _build_account_panel(data: dict[str, Any]) -> Panel:
|
|
|
31
32
|
t.add_row("유가잔고평가액", _fmt_number(data.get("tot_est_amt", "")))
|
|
32
33
|
t.add_row("예탁자산평가액", _fmt_number(data.get("aset_evlt_amt", "")))
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
t.add_row("
|
|
37
|
-
|
|
38
|
-
cum_color = _sign_color(data.get("lspft", "0"))
|
|
39
|
-
t.add_row("누적손익", Text(_fmt_number(data.get("lspft", "")), style=cum_color))
|
|
40
|
-
t.add_row("누적손익율", Text(data.get("lspft_rt", "0") + "%", style=cum_color))
|
|
35
|
+
# 평가손익 = 유가잔고평가액 - 총매입금액
|
|
36
|
+
_, eval_pl_str, eval_pl_rt_str, eval_color = _calc_eval_pl(data)
|
|
37
|
+
t.add_row("평가손익", Text(eval_pl_str, style=eval_color))
|
|
38
|
+
t.add_row("평가손익율", Text(eval_pl_rt_str + "%", style=eval_color))
|
|
41
39
|
|
|
42
40
|
return Panel(t, title="계좌 요약", border_style="green")
|
|
43
41
|
|