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.
Files changed (33) hide show
  1. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/PKG-INFO +1 -1
  2. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/__init__.py +1 -1
  3. kiwoom_cli-0.7.0/kiwoom_cli/commands/_constants.py +9 -0
  4. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/account.py +1 -8
  5. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/dashboard.py +5 -7
  6. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/market.py +171 -202
  7. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/stock.py +30 -64
  8. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/formatters.py +53 -6
  9. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/PKG-INFO +1 -1
  10. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/SOURCES.txt +1 -0
  11. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/pyproject.toml +1 -1
  12. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/tests/test_cli.py +1 -1
  13. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/LICENSE +0 -0
  14. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/README.md +0 -0
  15. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/api_spec.py +0 -0
  16. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/auth.py +0 -0
  17. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/client.py +0 -0
  18. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/__init__.py +0 -0
  19. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/order.py +0 -0
  20. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/stream.py +0 -0
  21. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/commands/watch.py +0 -0
  22. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/config.py +0 -0
  23. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/main.py +0 -0
  24. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/output.py +0 -0
  25. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/secure_store.py +0 -0
  26. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli/streaming.py +0 -0
  27. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/dependency_links.txt +0 -0
  28. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/entry_points.txt +0 -0
  29. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/requires.txt +0 -0
  30. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/kiwoom_cli.egg-info/top_level.txt +0 -0
  31. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/setup.cfg +0 -0
  32. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/tests/test_client.py +0 -0
  33. {kiwoom_cli-0.6.2 → kiwoom_cli-0.7.0}/tests/test_formatters.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kiwoom-cli
3
- Version: 0.6.2
3
+ Version: 0.7.0
4
4
  Summary: User-friendly CLI for the Kiwoom Securities REST API (키움증권)
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/gejyn14/kiwoom-cli
@@ -1,3 +1,3 @@
1
1
  """Kiwoom Securities REST API CLI."""
2
2
 
3
- __version__ = "0.6.2"
3
+ __version__ = "0.7.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
- pl_color = _sign_color(data.get("tdy_lspft", "0"))
35
- t.add_row("당일손익", Text(_fmt_number(data.get("tdy_lspft", "")), style=pl_color))
36
- t.add_row("당일손익율", Text(data.get("tdy_lspft_rt", "0") + "%", style=pl_color))
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