Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
231 commits
Select commit Hold shift + click to select a range
3672bb9
type error fixed and pytest deps
visualmoney Nov 16, 2025
60d96ee
import safe_divide
visualmoney Nov 16, 2025
5353257
장마감 이후 1호가 데이터만 오는 경우의에러 방어코드
visualmoney Nov 16, 2025
eddb5a3
.venv (pyenv), .python_version(pyenv local) add
visualmoney Nov 16, 2025
f839e4f
USD 키가 없는 경우 get으로 None을 return 하게 함.
visualmoney Nov 16, 2025
342dcb2
add .coverage file (for pytest coverage)
visualmoney Nov 17, 2025
cd66359
enable "poetry runpytest" with coverage pkg
visualmoney Nov 17, 2025
235d8b7
pytest output folders and poetry.toml poetry.lock
visualmoney Nov 17, 2025
3fa09cb
제거 poetry.lock
visualmoney Nov 17, 2025
ef14925
add poetry.lock
visualmoney Nov 17, 2025
c393589
remove comment for pytest
visualmoney Nov 17, 2025
957edd4
add test code for pykis/__env__.py
visualmoney Nov 19, 2025
544ca01
add test code for logging.py
visualmoney Nov 19, 2025
7ab3afd
logging 테스트 함수 싶래 개선함.
visualmoney Nov 19, 2025
22f4ce5
add test_kis.py for PyKis class test
visualmoney Nov 19, 2025
c1557cf
tset code added (pyKis 81%)
visualmoney Nov 20, 2025
8940e5c
vscode json files added
visualmoney Nov 20, 2025
3dde221
tool.poetry.version="2.1.6." to "2.1.7", packages include "pykis",
visualmoney Nov 20, 2025
91cb4b2
add test_diagnosis.py
visualmoney Nov 20, 2025
371d48e
add test_math.py
visualmoney Nov 20, 2025
87f01a9
added utils/test*.py for utils python files
visualmoney Nov 20, 2025
e00dda5
add scope test code
visualmoney Nov 20, 2025
014c2f2
[client] unit test code object.py -> test_object.py
visualmoney Nov 21, 2025
74f2783
[client] add test_form.py (최소화 된 테스트, 1. 상 클래스여서 직접 인스턴스화함. 2. 최소 서…
visualmoney Nov 21, 2025
41edcf6
add unit test code for accont.py
visualmoney Nov 21, 2025
2966f4e
add unit test code test_appkey.py
visualmoney Nov 21, 2025
11a6e35
add test_cache.py (6 tests passed)
visualmoney Nov 21, 2025
087b0a7
add test_auth.py (unit)
visualmoney Nov 21, 2025
ba9eff8
add test_exceptions.py (client)
visualmoney Nov 21, 2025
8ae094c
time.sleep()을 없이 빠르게 테스트 하기 me.sleep() 대신 monkeypatch로 datetime.now()…
visualmoney Nov 21, 2025
206ddc5
/fix 테스트 코드 에러 수정함.
visualmoney Nov 21, 2025
702c6c2
test_messaging.py에서 테스트 코드 실행 에러를 개선함.
visualmoney Nov 21, 2025
393a7cd
add test_pages.py
visualmoney Nov 21, 2025
5f09837
수정 test_websocket.py (테스트 커버리지 개선)
visualmoney Nov 21, 2025
6dfb613
add test_handler.py
visualmoney Nov 21, 2025
d17c988
add test_subscripton.py
visualmoney Nov 21, 2025
659fb17
add test_orde.py
visualmoney Nov 21, 2025
2f2b9e4
add test_pudcut.py event
visualmoney Nov 21, 2025
06eccc3
add test_subscription_filter.py
visualmoney Nov 21, 2025
a9e7c5b
added test_exceptions.py for responses
visualmoney Nov 21, 2025
93efe63
added test_dynamic.py
visualmoney Nov 21, 2025
7bbd9b2
added test_dynamic.py
visualmoney Nov 21, 2025
0884575
추가 test_response.py for resposes
visualmoney Nov 21, 2025
cb9f841
added test_websockets.py
visualmoney Nov 21, 2025
a0e0a51
added test_types.py
visualmoney Nov 21, 2025
d496da6
add test_order.py
visualmoney Nov 21, 2025
d4a2721
추가 test_balance.py
visualmoney Nov 21, 2025
346ffef
add test_daily_order.py
visualmoney Nov 21, 2025
ef31419
fix test errors
visualmoney Nov 21, 2025
b2071b8
test coverage 개선
visualmoney Nov 21, 2025
d93f886
추가 test_order_modify.py
visualmoney Nov 21, 2025
240d6fc
add test_order_profit.py
visualmoney Nov 21, 2025
fd9a975
add test_orderable_amount.py and test_pending_order.py
visualmoney Nov 21, 2025
e2f7d88
add test_orderable_amount_more.py
visualmoney Nov 21, 2025
9d58a54
add test_token.py
visualmoney Nov 21, 2025
2c253e8
add test_websocket.py
visualmoney Nov 21, 2025
aeff98e
add test_account_product.py
visualmoney Nov 21, 2025
80324cf
add test_account.py
visualmoney Nov 21, 2025
cccc866
add test_market.py
visualmoney Nov 21, 2025
a3198d1
add test_product.py
visualmoney Nov 21, 2025
be1b891
add test_chart.py
visualmoney Nov 21, 2025
9bd4d72
add test_daily_chart.py
visualmoney Nov 21, 2025
20dcfcd
add test_day_chart.py
visualmoney Nov 21, 2025
9e926f9
add test_info_quote.py
visualmoney Nov 21, 2025
cc762d6
add test_market.py
visualmoney Nov 21, 2025
8059716
add test_order_book.py
visualmoney Nov 21, 2025
f1b2206
add test_trading_hours.py
visualmoney Nov 21, 2025
7f7f860
add test_order_book.py
visualmoney Nov 21, 2025
2b71e8b
add test_order_execution.py
visualmoney Nov 21, 2025
e3cff88
add test_price.py
visualmoney Nov 21, 2025
418cc1a
once 함수에서 unknown event이며 ValueError를 발생하도록 수정
visualmoney Nov 21, 2025
c75cc8e
add test_balance.py
visualmoney Nov 21, 2025
46c99dd
add test_order.py
visualmoney Nov 21, 2025
c589b4b
add test_order_modify.py
visualmoney Nov 21, 2025
1500195
add test_order.py
visualmoney Nov 21, 2025
841215c
add test_quote.py
visualmoney Nov 21, 2025
b38f12c
add test_execution
visualmoney Nov 21, 2025
2553b1a
add test_price.py
visualmoney Nov 21, 2025
c63ae7a
Merge branch 'main' of https://github.com/visualmoney/python-kis
visualmoney Nov 22, 2025
ff49ab8
setup() 메소드가 각 테스트 마다 실행되면서 토큰 발급 요청이 과도하게 되는 것을 class method로 변경하여 클…
visualmoney Nov 22, 2025
06b7af2
중복 코드 제거함.
visualmoney Nov 22, 2025
5b69a3d
예상치 에러 등 수정함.
visualmoney Nov 22, 2025
866d405
테스트 에러 수정
visualmoney Nov 22, 2025
9a58c56
테스트 에러 수정
visualmoney Nov 22, 2025
0a0f329
테스트 커버리지 개선 87%
visualmoney Nov 22, 2025
4d119fe
테스트 커버리지 개선
visualmoney Nov 23, 2025
ee0a7a8
kis.py에 대한 테스트 커버리지 추가함.(94%)
visualmoney Nov 23, 2025
02eefdc
테스트 커버리지 개선(test_websocket.py)
visualmoney Nov 23, 2025
31f79b8
테스트 커버리지 개선(test_daily_chart.py)
visualmoney Nov 23, 2025
50a114f
테스트 커버리지 개선
visualmoney Nov 23, 2025
48e96b0
order_book.py order_execution.py에 대한 테스트 커버리지 향샹
visualmoney Nov 23, 2025
8dc2161
test coverage 개선함.
visualmoney Nov 23, 2025
d69184e
테스트 커버리지 개선
visualmoney Nov 23, 2025
6c0102e
python version up for poetry build 3.10 to 3.11
visualmoney Nov 26, 2025
a85044f
update vscode launch.json - current file with argumetns
visualmoney Dec 7, 2025
466f66c
Phase 2 완료: 테스트 커버리지 90% 달성 및 문서화
visualmoney Dec 9, 2025
d470f1b
Merge branch 'main' of https://github.com/visualmoney/python-kis
visualmoney Dec 9, 2025
b33589c
add integration test and performance test
visualmoney Dec 9, 2025
cc380c9
테스트: daily_chart.py 커버리지 향상 (46% → 92%)
visualmoney Dec 9, 2025
5c17224
test(stock/info): 종목 정보 조회 API 테스트 추가 (62% → 87%)
visualmoney Dec 9, 2025
2cccd65
test(responses/dynamic): 동적 응답 타입 시스템 테스트 대폭 확장 (85% → 97%)
visualmoney Dec 9, 2025
4ad7230
tests(unit): add cleaned dynamic transform tests for KisObject.transf…
visualmoney Dec 16, 2025
095b979
chore: commit remaining workspace changes
visualmoney Dec 16, 2025
a8d9b0d
docs: add PlantUML and developer setup guides
visualmoney Dec 16, 2025
55b19a1
docs: Add comprehensive architecture analysis reports
visualmoney Dec 16, 2025
eb3ce82
chore: commit workspace changes
visualmoney Dec 17, 2025
e8e2d73
docs: update coverage findings (unit tests ran 2025-12-17)
visualmoney Dec 17, 2025
b4fcccd
docs: update ARCHITECTURE_REPORT_V2_KR with latest test results (2025…
visualmoney Dec 17, 2025
5bc634b
Fix integration tests: mock_api_simulation & rate_limit_compliance
visualmoney Dec 17, 2025
f5312b9
Fix websocket stress tests for mock environment
visualmoney Dec 17, 2025
01194c3
Add documentation bundle and update stock tests
visualmoney Dec 17, 2025
1d90ef1
Update coverage documentation to 94%
visualmoney Dec 17, 2025
87236b5
Update coverage documentation to 94%
visualmoney Dec 17, 2025
ab06593
Merge branch 'main' of https://github.com/visualmoney/python-kis
visualmoney Dec 17, 2025
df66c91
docs: add YAML config loading example and pytest testing tip to quick…
visualmoney Dec 18, 2025
6b55e3f
docs(reports): add section files for ARCHITECTURE_REPORT_V3 (temporary)
visualmoney Dec 18, 2025
a8b3787
chore(docs): archive temporary section files
visualmoney Dec 18, 2025
2f6721e
feat: implement public types separation and package root refactor
visualmoney Dec 18, 2025
5abea5b
docs: add comprehensive documentation system and Phase 1 Week 1 compl…
visualmoney Dec 18, 2025
33de6d5
docs: add quickstart next steps and basic examples
visualmoney Dec 18, 2025
97e6b87
chore: add config.example.yaml template
visualmoney Dec 18, 2025
a5825f4
fix: correct example code to use KisAuth(virtual=...) pattern
visualmoney Dec 18, 2025
8d5eef7
Week 4: Add intermediate/advanced examples, SimpleKIS docs, and updat…
visualmoney Dec 18, 2025
382bad6
Phase 1 완료 보고 및 보고서 통합: Week 4, Phase 2-3 섹션 추가
visualmoney Dec 19, 2025
8431678
chore(docs): add admin PlantUML installer script and usage; update PL…
visualmoney Dec 19, 2025
57eee89
fix(tools): set console and PowerShell output encoding to UTF-8 to pr…
visualmoney Dec 19, 2025
4bb680b
chore(docs): remove tools folder (installer script removed)
visualmoney Dec 19, 2025
7186245
docs(report): limit multilingual support to Korean and English across…
visualmoney Dec 19, 2025
ca67f1b
chore(vscode): update PlantUML settings (render=Local, exportFormat=png)
visualmoney Dec 19, 2025
c526de7
docs(report): add 2025-12-19 progress update (examples/config/docs)
visualmoney Dec 19, 2025
bba8ccc
chore(examples): make examples profile-aware; add --config/--profile …
visualmoney Dec 19, 2025
987443a
docs(phase2): complete Week 1-2 documentation tasks
visualmoney Dec 19, 2025
30bf5bf
ci: add GitHub Actions CI, pre-commit, and test scaffolding
visualmoney Dec 20, 2025
43c49d3
docs: add prompt logs, agent rules, dev log, phase2 status; update ve…
visualmoney Dec 20, 2025
bf7acde
docs(versioning): add Option D (Poetry without plugin) and comprehens…
visualmoney Dec 20, 2025
a8e2344
docs: clarify option C faq
visualmoney Dec 20, 2025
f654d02
feat: implement option C with poetry-dynamic-versioning
visualmoney Dec 20, 2025
5162cd8
feat: Phase 2 Week 3-4 CI/CD 및 테스트 자동화 완료
visualmoney Dec 20, 2025
d9f104a
feat: Phase 3 Week 1-2 에러 처리 및 로깅 시스템 완료
visualmoney Dec 20, 2025
3bd1043
docs: Phase 3 Week 3-4 문서 및 커뮤니티 확장
visualmoney Dec 20, 2025
7ce424c
docs: Phase 4 Week 1-2 글로벌 문서 및 다국어 확장
visualmoney Dec 20, 2025
cfe61b6
docs: Phase 4 Week 3-4 튜토리얼 영상 스크립트, GitHub Discussions, PlantUML 다이어그램
visualmoney Dec 20, 2025
886598a
fix: remove comments from .vscode/settings.json for JSON validation
visualmoney Dec 20, 2025
9418c91
docs: update ARCHITECTURE_REPORT_V3_KR with progress status and TODO …
visualmoney Dec 20, 2025
78fa04f
docs: update Phase completion status and coverage verification
visualmoney Dec 20, 2025
19d156b
feat: GitHub Discussions 템플릿 추가 (Q&A, 기능 제안, 일반 토론)
visualmoney Dec 20, 2025
471e1e1
docs: Phase 4 완료 - INDEX.md 업데이트 및 종합 개발 일지 작성
visualmoney Dec 20, 2025
9a75692
docs: Phase 4 아키텍처 모듈식 재구성 및 커뮤니티 인프라 완성
visualmoney Dec 20, 2025
16bf568
fix(tests): test_logging.py 구문 오류 복구로 테스트 수집 정상화
visualmoney Aug 26, 2026
eb7ab9a
build: Poetry -> uv + hatchling/hatch-vcs 전환
visualmoney Aug 26, 2026
b1ae565
Merge pull request #4 from visualmoney/chore/uv-build-backend
visualmoney Aug 26, 2026
a9ec0d0
test: 테스트 스위트 부채 정리 및 커버리지 게이트 90% 복원
visualmoney Aug 27, 2026
11ea778
ci: publish.yml의 $GITHUB_OUTPUT 인용 (SC2086)
visualmoney Aug 27, 2026
06a63f2
chore(packaging)!: python-kis/pykis/PyKis → vm-stock-kis/vmkis/VmKis …
visualmoney Aug 27, 2026
0d28147
docs: 이슈 #2 프롬프트 문서 및 개발 일지 작성
visualmoney Aug 27, 2026
2409af5
fix(docs): 이슈/기여 템플릿 링크를 포크 저장소로 정정
visualmoney Aug 27, 2026
614b68e
test: rate limiter 타이밍 단언의 상한 여유 확대
visualmoney Aug 27, 2026
1f50516
Merge pull request #5 from visualmoney/fix/issue-3-test-suite-recovery
visualmoney Aug 27, 2026
101c75f
ci: checkout에 fetch-depth: 0 추가 (hatch-vcs 버전 해석)
visualmoney Aug 27, 2026
ec8f961
Merge pull request #6 from visualmoney/chore/issue-2-rename-vmkis
visualmoney Aug 27, 2026
a60f350
docs(security): 보안 정책 문서 추가 (한/영) 및 잘못된 암호화 서술 정정
visualmoney Aug 27, 2026
5f3bf08
Merge pull request #7 from visualmoney/docs/security-policy
visualmoney Aug 27, 2026
1905f74
ci: 워크플로 재작성 및 dependabot 추가 (이슈 #2 커밋 3)
visualmoney Aug 27, 2026
cbb4000
docs: PyPI 배포 가이드 추가
visualmoney Aug 27, 2026
52d6acf
docs: 이름 변경 반영 및 Poetry -> uv 문서 전환 (이슈 #2 커밋 4)
visualmoney Aug 27, 2026
efde572
style: ruff 규칙셋 고정 및 일괄 정리 (이슈 #2 커밋 5)
visualmoney Aug 27, 2026
1a33166
chore: .git-blame-ignore-revs 추가
visualmoney Aug 27, 2026
f184853
docs: 이슈 #2 개발 일지에 커밋 3~5 기록
visualmoney Aug 27, 2026
5c24350
ci: setup-uv를 정확한 버전으로 고정
visualmoney Aug 27, 2026
265b0da
ci: publish.yml의 ls 출력 파싱 제거 (SC2012)
visualmoney Aug 27, 2026
39944b8
Merge pull request #8 from visualmoney/chore/issue-2-ci-docs-format
visualmoney Aug 27, 2026
f6b3eea
ci(publish): 사전 릴리스 태그를 TestPyPI로 라우팅 (#9)
visualmoney Aug 27, 2026
a9ab361
ci(publish): 태그 검증에서 중복 파싱 제거
visualmoney Aug 27, 2026
a0612fd
Merge pull request #10 from visualmoney/ci/publish-tag-check-dedup
visualmoney Aug 27, 2026
c1c633c
fix(env): 저자 정보를 배포 메타데이터에서 파생하고 원저자와 구분
visualmoney Aug 27, 2026
1558eb0
Merge pull request #11 from visualmoney/fix/env-author-metadata
visualmoney Aug 27, 2026
798b654
docs: open-trading-api 대비 아키텍처 비교 보고서 및 markdownlint 정리 (#12)
visualmoney Aug 27, 2026
d2fa890
docs: 뉴스레터 기록물 분리, archive/ 신설, 죽은 링크 19곳 정정 (#22)
visualmoney Aug 28, 2026
2a3c305
docs(versioning): 태그 표기 규칙 5가지 추가 (#24)
visualmoney Aug 28, 2026
ac8f18e
docs!: 배포명 오표기 정정 + 버전 체계 0.0.1로 재정의 (#26)
visualmoney Aug 28, 2026
d9f5c7b
build: core metadata 고정의 근거를 갱신하고 게시 전 검사를 추가 (#28)
visualmoney Aug 28, 2026
cff58a9
ci: 성능 테스트를 머지 게이트에서 분리 (#32)
visualmoney Aug 28, 2026
b38da9b
fix(github): 이슈 템플릿이 존재하지 않는 라벨을 참조하던 문제 (#31)
visualmoney Aug 28, 2026
5490f5e
fix(kis,page): 무한 재시도 루프에 상한 추가, 커서 접미사 4변형 지원 (#37)
visualmoney Aug 28, 2026
8c3528a
docs: 아키텍처 문서-코드 드리프트 수정 및 fetch() 확장 가이드 신설 (#39)
visualmoney Aug 28, 2026
9859b1b
fix(tests,docs): 벤치마크 flake 제거, 자격증명 없을 때 skip, INDEX 재작성 (#40)
visualmoney Aug 28, 2026
f5c5c15
fix(utils): 전역 retry_config 변형 버그 수정, utils -> client 계층 위반 해소 (#46)
visualmoney Aug 28, 2026
48e1591
fix(exceptions): KisNotFoundError 이름 충돌 해소 — 공개 API가 잡히지 않던 문제 (#47)
visualmoney Aug 28, 2026
ae442e2
refactor(api): 선언적 엔드포인트 스펙 도입, 계좌 계열 이관 (#48)
visualmoney Aug 28, 2026
11a2cf7
refactor(websocket): 응답 레지스트리를 자기등록으로 역전, client -> api 제거 (#49)
visualmoney Aug 28, 2026
cef9991
docs(claude): 개발 일지·프롬프트 파일명에 그날의 순번 도입 (#51)
visualmoney Aug 28, 2026
82ee8cb
docs: 2026-08-28 세션 종료 요약 및 To-Do List (#52)
visualmoney Aug 28, 2026
c49ff97
refactor(api): 시세 계열 엔드포인트 스펙 이관 + fetch(page=) 결함 수정 (#43) (#53)
visualmoney Aug 28, 2026
98d7454
docs(archive): To-Do 문서 4종을 archive/ 로 이동 (#54)
visualmoney Aug 28, 2026
f918ea1
docs: GitHub Discussions 폐지 + 대기열 라벨 3종 도입 (#56)
visualmoney Aug 28, 2026
1150404
docs(claude): 작업 상태 관리 규칙 개정 — 이슈 트래커로 일원화 (#57)
visualmoney Aug 28, 2026
6bd6b85
refactor(api): 연속조회 루프를 fetch_pages 헬퍼로 통합 (#44) (#58)
visualmoney Aug 28, 2026
6cd4def
test: rate limiter 스레드 안전성 단언에 SCHEDULING_SLACK 적용 (#59) (#60)
visualmoney Aug 28, 2026
3b27b22
docs: 2026-08-28 2차 세션 종료 요약 (#61)
visualmoney Aug 28, 2026
ad11783
ci: import-linter 계약으로 역방향 의존 회귀 차단 (#50) (#62)
visualmoney Aug 28, 2026
3b5f5fb
test: __del__ 무력화 패치 제거 + 소멸자 회귀를 실패로 (#42) (#65)
visualmoney Aug 28, 2026
0459faf
build: 서브패키지 13곳에 `__init__.py` 추가 (#64) + `event → api` 판정 (#63) (#66)
visualmoney Aug 28, 2026
0a06642
test: 네트워크 테스트 17개를 tests/integration/ 으로 이동 (#41) (#67)
visualmoney Aug 29, 2026
ad2548e
chore: .claude/ 공유 설정은 추적하고 로컬 설정만 제외 (#68)
visualmoney Aug 29, 2026
953ae77
docs: #55 live/paper 결정 기록 + 후속 이슈 #69/#70 개설 (#71)
visualmoney Aug 29, 2026
a8db20a
fix(config)!: load_config 5벌을 통합하고 미지의 키에 명시적으로 실패 (#74)
visualmoney Aug 29, 2026
22515a5
docs(config): 설정 스키마 문서 신설 + #70 을 코드 개명으로 축소 (#76)
visualmoney Aug 29, 2026
c108cf5
docs: INDEX 에 CONFIG_SCHEMA 등재 (#77)
visualmoney Aug 29, 2026
af582e2
feat(config)!: 3블록 설정 스키마 — apps / accounts / default_account (#79)
visualmoney Aug 29, 2026
ba262fd
docs: 2026-08-29 세션 종료 요약 (#80)
visualmoney Aug 29, 2026
f0cb77a
fix(packaging): helpers/simple import 실패를 조용한 None 대신 예외로 (#73) (#81)
visualmoney Aug 29, 2026
ebb829d
build(deps): python-dotenv 를 런타임에서 테스트 그룹으로 (#72) (#82)
visualmoney Aug 29, 2026
724f5f2
refactor(config)!: real/virtual → live/paper 코드 개명 (#70) (#83)
visualmoney Aug 29, 2026
b852bd1
fix(examples): 예제 7개의 create_client(profile=) 를 account= 로 (#84) (#86)
visualmoney Aug 29, 2026
2fb0542
docs: 문서 예제를 실제 API 에 맞추고 CI 검사를 추가 (#78) (#88)
visualmoney Aug 29, 2026
4fc9fae
docs(architecture): Protocol 판정 기준 신설 + overload 유지 결정 (#45) (#89)
visualmoney Aug 29, 2026
cbbbd3b
feat(codegen): examples_llm 스펙 추출기 + 엔드포인트 생성기 파일럿 (#21) (#90)
visualmoney Aug 29, 2026
464137d
fix(helpers): 모의 계좌에도 실전 인증을 함께 넘깁니다 (#87) (#91)
visualmoney Aug 29, 2026
2d171e7
chore(release): CHANGELOG 를 0.1.0 으로 승격하고 누락 5건을 채웁니다 (#85) (#93)
visualmoney Aug 29, 2026
d4b5c14
feat(codegen): 응답 블록과 연속조회 커서를 추출합니다 (#21) (#97)
visualmoney Aug 29, 2026
eda3a02
feat(codegen): TR ID 분기 조건을 엔드포인트 표로 (#21) (#98)
visualmoney Aug 29, 2026
26c40ca
fix(codegen): 접미사 없는 CTX_AREA_FK 커서를 놓치던 문제 (#21) (#99)
visualmoney Aug 29, 2026
c52a7ce
docs(policy): 1.0.0 게이트를 판정 가능하게 바꾸고 검사로 감시합니다 (#30) (#101)
visualmoney Aug 29, 2026
04541c9
docs(reports): 0.2.0 대비 문서 정리 실태 보고서 (#102)
visualmoney Aug 29, 2026
b16835e
docs: 2026-08-30 세션 종료 요약 (#109)
visualmoney Aug 29, 2026
4d15f3c
test(flake): 레이트리밋 상한에 스케줄링 여유를, 실패 메시지에 실제 시각을 (#92) (#110)
visualmoney Aug 30, 2026
dc7633e
fix(examples): 존재하지 않는 config.yaml 을 가리키던 28곳 (#95) (#113)
visualmoney Aug 30, 2026
87084ba
docs(readme): PyPI 버전·Python·License 배지 추가 (#114)
visualmoney Aug 30, 2026
ae7f6d8
docs: 살아 있는 자리에 남아 있던 동결 문서를 archive 로 (#103, #105, #106) (#115)
visualmoney Aug 30, 2026
5816755
docs(i18n): 영문 user guide 분기를 닫고 한 장만 남깁니다 (#104, #107) (#116)
visualmoney Aug 30, 2026
dace898
docs: CLAUDE.md를 Cursor AGENTS.md와 project rules로 옮깁니다 (#117)
visualmoney Aug 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"permissions": {
"allow": [
"Bash(git grep *)",
"Bash(git mv *)",
"Bash(git add *)",
"Bash(git diff *)",
"Bash(git commit *)",
"Bash(gh pr *)",
"Bash(git switch *)",
"Bash(git pull *)"
]
}
}
26 changes: 26 additions & 0 deletions .cursor/rules/docs-workflow.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
description: Prompt, log, and report file naming and where docs live
globs: docs/prompts/**,docs/dev_logs/**,docs/reports/**,docs/guidelines/**,docs/INDEX.md
alwaysApply: false
---

# Docs workflow

New files (from 2026-08-28): `YYYY-MM-DD_nn_주제.md`. `nn` is that day's write order (`01`, `02`, …). Do not rename existing files.

Classification:

| Kind | Path |
|---|---|
| Prompt | `docs/prompts/` |
| Dev log | `docs/dev_logs/` |
| Analysis report | `docs/reports/` — not a status report |
| Human guideline | `docs/guidelines/` |
| Work list | GitHub issues only |

Do not create markdown To-Do lists. Do not put counts that will stale (pass totals, coverage %, PyPI version).

Prompt template: user request, scope, plan, result.
Dev log: what you hit, files, test outcome, remaining work. Frozen logs are not edited later.

If you add or move a living doc, update `docs/INDEX.md` and keep only paths that exist (`ls` first).
15 changes: 15 additions & 0 deletions .cursor/rules/src-invariants.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
description: Package import graph and public API constraints
globs: src/vmkis/**/*.py
alwaysApply: false
---

# Source invariants

Read @docs/architecture/ARCHITECTURE.md section 1.1 before changing imports or public exports. Do not copy that section here.

- Do not `import vmkis.kis` at module level (only inside `if TYPE_CHECKING:`).
- Do not add new module-level reverse edges. Existing reverse edges are listed in ARCHITECTURE.md; import-linter plus `tests/unit/test_import_contracts.py` enforce part of this.
- `import vmkis` from a leaf module is a reverse edge to the whole facade. Prefer `vmkis.__env__` (or the specific submodule) for version/distribution name.
- Keep the public root small. Compatibility and deprecation live in `docs/guidelines/API_STABILITY_POLICY.md`.
- Match existing style. No drive-by reformat. No secrets in the tree.
15 changes: 15 additions & 0 deletions .cursor/rules/tests.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
description: Test writing and regression checks for this repo
globs: tests/**/*.py
alwaysApply: false
---

# Tests

Canonical writing rules: @docs/guidelines/GUIDELINES_001_TEST_WRITING.md

- Name tests by behavior (`test_quotable_market_returns_krx_for_domestic_stock`), not `test_func`.
- Order: unit → integration → performance.
- A passing suite that never asserts the thing you care about is not a check. If you add a regression test, break the production code on purpose and confirm that test fails.
- Do not stub the HTTP/client layer with a bare `Mock()` so `call()` returns another Mock. Quote and TR tests must see a real-shaped response or they will not notice a wrong TR ID. See issue #43 comments.
- Coverage artifacts go under `reports/coverage.xml` / `reports/htmlcov/` when asked; do not paste those numbers into docs.
18 changes: 18 additions & 0 deletions .cursor/skills/pypi-release/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: pypi-release
description: Follows this repo's PyPI/tag release procedure. Use when releasing to PyPI, cutting a version tag, or updating CHANGELOG for a release.
---

# PyPI release

Follow @docs/guidelines/PYPI_RELEASE.md. Do not paste that guide into the skill.

Checklist:

- [ ] `CHANGELOG.md` for this version
- [ ] Architecture doc drift check (`docs/architecture/ARCHITECTURE.md`)
- [ ] Version comes from the git tag (`hatch-vcs`). Do not hand-edit a version in `pyproject.toml`
- [ ] Tag is `v*.*.*` on the commit you intend to publish
- [ ] Analysis reports only if this is an analysis; status is the issue list

Trusted Publishing and tag rules are in the guide. If anything in the guide and this checklist conflict, the guide wins.
16 changes: 16 additions & 0 deletions .cursor/skills/session-close/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: session-close
description: Writes the session-close dev log and re-queues next-up (max 3). Use when the user ends a session, asks for session close, or 세션 종료.
---

# Session close

Not a summary of the day's logs. Write what showed up **more than once**.

1. Write `docs/dev_logs/YYYY-MM-DD_nn_session_close.md` (`nn` = next sequence that day).
2. Re-label `next-up` — **at most 3** issues. Empty queue is a problem, not a rest state.
3. Open a `needs-decision` issue for any unresolved debate. Do not leave “decide later” only in the log.
4. Do not write a markdown To-Do list.
5. If a predecessor closed, remove `blocked` from dependents.

Do not commit unless the user asked. Do not invent issue counts in the log; `gh issue list` if a number is needed.
10 changes: 10 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# git blame에서 무시할 대량 포맷 커밋 목록.
#
# 로컬 설정 (한 번만):
# git config blame.ignoreRevsFile .git-blame-ignore-revs
#
# GitHub 웹 blame은 이 파일을 자동으로 인식합니다.

# style: ruff 규칙셋 고정 및 일괄 정리 (이슈 #2 커밋 5)
# Python 파일 재포맷 + 자동 수정. 동작 변경 없음.
efde5725c97fb76fddaa1195c6fa566cb1759ef0
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
* text eol=lf
* text eol=lf
uv.lock linguist-generated=true -diff
24 changes: 12 additions & 12 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
name: 🐛 Bug Report
description: 라이브러리가 예상대로 작동하지 않나요?
title: "[버그]: "
labels: ["버그"]
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
PyKis 커뮤니티 라이브러리의 버그 보고서를 작성해 주셔서 감사합니다!
VmKis 커뮤니티 라이브러리의 버그 보고서를 작성해 주셔서 감사합니다!

- type: checkboxes
attributes:
label: 빠른 문제 해결을 위해 다음을 확인했나요?
description: >
PyKis [Docs](https://github.com/Soju06/python-kis/wiki)나 [Issues](https://github.com/Soju06/python-kis/issues)에서 유사한 버그가 존재하는지 확인해주세요.
VmKis [Docs](https://github.com/visualmoney/vm-stock-kis/wiki)나 [Issues](https://github.com/visualmoney/vm-stock-kis/issues)에서 유사한 버그가 존재하는지 확인해주세요.
options:
- label: >
PyKis [Issues](https://github.com/Soju06/python-kis/issues)에서 검색했지만 유사한 버그를 찾지 못했습니다.
VmKis [Issues](https://github.com/visualmoney/vm-stock-kis/issues)에서 검색했지만 유사한 버그를 찾지 못했습니다.
required: true

- type: textarea
attributes:
label: 버그 설명
Expand All @@ -30,16 +30,16 @@ body:
- type: textarea
attributes:
label: 종속성 버전 문제 진단
description: 종속성 라이브러리 버전 문제를 진단하기 위해 `from pykis.utils.diagnosis import check; check()`를 실행한 결과를 붙여넣어주세요.
description: 종속성 라이브러리 버전 문제를 진단하기 위해 `from vmkis.utils.diagnosis import check; check()`를 실행한 결과를 붙여넣어주세요.
placeholder: |
`from pykis.utils.diagnosis import check; check()` 실행 결과를 붙여넣어주세요.
`from vmkis.utils.diagnosis import check; check()` 실행 결과를 붙여넣어주세요.

```
Version: PyKis/2.0.0
Version: VmKis/0.0.1
Python: CPython 3.11.7
System: Windows 10.0.26120 [AMD64]

Installed Packages:
Installed Packages:
=========== requests ===========
Required: 2.32.3>=
Installed: 2.32.3
Expand All @@ -64,9 +64,9 @@ body:
질문을 할 때 사람들이 쉽게 이해하고 문제를 **재현**하는 데 사용할 수 있는 코드를 제공하면 더 나은 도움을 드릴 수 있습니다.
placeholder: |
```python
from pykis import PyKis
from vmkis import VmKis

kis = PyKis("secret.json", keep_token=True)
kis = VmKis("secret.json", keep_token=True)

...
```
Expand All @@ -82,6 +82,6 @@ body:
attributes:
label: PR를 통해 라이브러리에 기여하고 싶으신가요?
description: >
구현 방법을 잘 이해하고 있는 경우, [Pull Request](https://github.com/Soju06/python-kis/pulls) PyKis 커뮤니티 라이브러리를 개선해주세요!
구현 방법을 잘 이해하고 있는 경우, [Pull Request](https://github.com/visualmoney/vm-stock-kis/pulls) VmKis 커뮤니티 라이브러리를 개선해주세요!
options:
- label: 네, PR을 제출하여 도움을 주고 싶습니다!
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
blank_issues_enabled: true
contact_links:
- name: 📄 Docs
url: https://github.com/Soju06/python-kis/wiki
about: PyKis 라이브러리의 문서
url: https://github.com/visualmoney/vm-stock-kis/wiki
about: VmKis 라이브러리의 문서
- name: 📄 한국투자증권 API 문서
url: https://apiportal.koreainvestment.com/apiservice/oauth2
about: 라이브러리에서 지원하지 않는 기능을 찾고 계신가요?
- name: 💬 한국투자증권 API 포럼
url: https://apiportal.koreainvestment.com/community
about: PyKis 커뮤니티 라이브러리가 아닌, 한국투자증권의 API에 문의하고 싶으신가요?
about: VmKis 커뮤니티 라이브러리가 아닌, 한국투자증권의 API에 문의하고 싶으신가요?
18 changes: 9 additions & 9 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
name: 🚀 Feature Request
description: 새로운 기능을 제안하고 싶으신가요?
title: "[기능]: "
labels: ["기능"]
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
PyKis 커뮤니티 라이브러리의 기능 요청을 작성해 주셔서 감사합니다!
VmKis 커뮤니티 라이브러리의 기능 요청을 작성해 주셔서 감사합니다!

- type: checkboxes
attributes:
label: 빠른 문제 해결을 위해 다음을 확인했나요?
description: >
PyKis [Docs](https://github.com/Soju06/python-kis/wiki)나 [Issues](https://github.com/Soju06/python-kis/issues)에서 유사한 기능이 존재하는지 확인해주세요.
VmKis [Docs](https://github.com/visualmoney/vm-stock-kis/wiki)나 [Issues](https://github.com/visualmoney/vm-stock-kis/issues)에서 유사한 기능이 존재하는지 확인해주세요.
options:
- label: >
PyKis [Issues](https://github.com/Soju06/python-kis/issues)에서 검색했지만 유사한 기능을 찾지 못했습니다.
VmKis [Issues](https://github.com/visualmoney/vm-stock-kis/issues)에서 검색했지만 유사한 기능을 찾지 못했습니다.
required: true

- type: textarea
attributes:
label: 기능 설명
Expand All @@ -34,11 +34,11 @@ body:
기능 요청의 사용 사례를 설명해주세요. 이 기능을 어떻게 사용할 수 있을지, Python 코드 예제를 포함해주세요.
placeholder: |
💡 기능을 사용하는 예제 코드와 설명을 제공해주세요.

```python
from pykis import PyKis
from vmkis import VmKis

kis = PyKis("secret.json", keep_token=True)
kis = VmKis("secret.json", keep_token=True)

...
```
Expand All @@ -52,6 +52,6 @@ body:
attributes:
label: PR를 통해 라이브러리에 기여하고 싶으신가요?
description: >
구현 방법을 잘 이해하고 있는 경우, [Pull Request](https://github.com/Soju06/python-kis/pulls) PyKis 커뮤니티 라이브러리를 개선해주세요!
구현 방법을 잘 이해하고 있는 경우, [Pull Request](https://github.com/visualmoney/vm-stock-kis/pulls) VmKis 커뮤니티 라이브러리를 개선해주세요!
options:
- label: 네, PR을 제출하여 도움을 주고 싶습니다!
12 changes: 6 additions & 6 deletions .github/ISSUE_TEMPLATE/question.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
name: ❓ Question
description: PyKis 라이브러리에 대해 궁금한 점이 있나요?
description: VmKis 라이브러리에 대해 궁금한 점이 있나요?
title: "[질문]: "
labels: ["질문"]
labels: ["question"]
body:
- type: markdown
attributes:
value: |
PyKis 커뮤니티 라이브러리의 활용해 주셔서 감사합니다!
VmKis 커뮤니티 라이브러리의 활용해 주셔서 감사합니다!

- type: checkboxes
attributes:
label: 빠른 문제 해결을 위해 다음을 확인했나요?
description: >
PyKis [Docs](https://github.com/Soju06/python-kis/wiki)나 [Issues](https://github.com/Soju06/python-kis/issues)에서 유사한 질문이나 버그가 존재하는지 확인해주세요.
VmKis [Docs](https://github.com/visualmoney/vm-stock-kis/wiki)나 [Issues](https://github.com/visualmoney/vm-stock-kis/issues)에서 유사한 질문이나 버그가 존재하는지 확인해주세요.
options:
- label: >
PyKis [Issues](https://github.com/Soju06/python-kis/issues)에서 검색했지만 유사한 질문을 찾지 못했습니다.
VmKis [Issues](https://github.com/visualmoney/vm-stock-kis/issues)에서 검색했지만 유사한 질문을 찾지 못했습니다.
required: true

- type: textarea
attributes:
label: 질문 내용
Expand Down
32 changes: 32 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
version: 2

updates:
# GitHub Actions.
# 이 저장소의 워크플로는 actions/checkout@v3, setup-python@v3처럼 러너가
# 더 이상 지원하지 않는 버전에 오래 머물러 있었습니다. 자동 갱신으로 막습니다.
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
commit-message:
prefix: "ci"
labels:
- dependencies

# Python 의존성. uv.lock을 함께 갱신합니다.
- package-ecosystem: uv
directory: /
schedule:
interval: monthly
commit-message:
prefix: "build"
labels:
- dependencies
groups:
# 개발 도구는 한 PR로 묶습니다. 1인 프로젝트에서 PR 수를 줄이는 게 더 중요합니다.
dev-tooling:
patterns:
- pytest*
- ruff
- pre-commit
- plantuml
15 changes: 12 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
# 🛠️ PR Summary

## 🌟 요약

어떤 것이 변경되었나요? 간략히 설명해주세요.

인증 토큰을 자동으로 관리하는 기능을 추가했습니다.

## 📊 주요 변경 사항

주요 변경 사항을 적어주세요.

- `utils.workspace.py` 파일을 추가했습니다.
PyKis 라이브러리의 개인 작업 공간을 관리하는 기능을 추가했습니다.
- `kis.py`에서 `PyKis` 메인 클래스 생성자에 keep_token 인자를 추가했습니다.
VmKis 라이브러리의 개인 작업 공간을 관리하는 기능을 추가했습니다.
- `kis.py`에서 `VmKis` 메인 클래스 생성자에 keep_token 인자를 추가했습니다.
keep_token이 True이면 인증 토큰을 개인 작업 공간에서 자동으로 관리합니다.
- 웹소켓 Ping을 로깅하는 코드를 제거했습니다.


## 🎯 목적 및 영향

- 목적: 왜 이 PR이 필요한가요?
인증 토큰을 자동으로 관리하는 기능을 추가하여 라이브러리를 손쉽게 사용할 수 있도록 합니다.

- 영향: 이 변경 사항이 어떤 영향을 미치나요?
토큰 로드 및 저장을 자동으로 처리하므로 비전문 사용자가 토큰을 관리하는 부담이 줄어듭니다.

## ✅ 라벨 정리

라벨은 붙일 때가 아니라 **뗄 때** 무너집니다. 1인 저장소에는 지적할 리뷰어가
없으므로 여기서 확인합니다.

- [ ] 이 PR 이 닫는 이슈를 `선행: #NN` 으로 참조하던 이슈가 있다면 `blocked` 를 뗐다
- [ ] `next-up` 이 3건을 넘지 않는다 (`gh issue list --label next-up`)
Loading