Repository navigation
Release Notes (v1.2.0 ~ v1.2.8)
이번 릴리스에서는 KRX 로그인 정책 변경에 대응하는 세션 관리 시스템을 새롭게 도입하였으며, 시장 OHLCV 조회 API 추가, ETF 구조 업데이트, pandas/numpy 호환성 개선 등 다양한 기능 강화와 안정화 작업을 진행했습니다.
🛠 주요 변경 사항 (Core Improvements)
- KRX 로그인 / 세션 관리 시스템 도입
pykrx/website/comm/auth.py신규 추가 —KRXSession클래스를 통해 JSESSIONID 쿠키를 관리하고 세션 만료(1시간)를 추적- 만료 5분 전 자동 재로그인 로직으로 장시간 실행 시에도 인증 상태 유지
- 환경 변수(
KRX_ID,KRX_PW)를 통한 자격 증명 주입을 지원하여 CI/CD 환경과 통합 가능 webio.py요청 레이어와의 연동으로 기존 코드 변경 없이 인증 세션 자동 적용
- 빌드 시스템 안정화
setuptools_scm의local_scheme및version_scheme설정 최적화로 PyPI 배포 시 로컬 버전 접미사 제거_version.py파일을 버전 관리(git)에서 제외하여 빌드 아티팩트가 소스 트리에 혼입되는 문제 해결
- 테스트 인프라 최적화
- VCR 카세트 파일 용량을 360MB → 31MB로 대폭 축소하여 저장소 클론 및 CI 캐시 효율 개선
✨ 신규 기능 및 버그 수정 (Features & Fixes)
- 신규 API: 시장 OHLCV 조회
get_market_ohlcv()함수 추가 — 날짜 범위를 지정하여 전체 시장의 OHLCV 데이터를 한 번에 조회 가능stock_api.py,market/core.py,market/wrap.py신규 구현 및 통합 테스트 추가 (@seohyunjun)
- ETF 포트폴리오 예탁 파일 구조 업데이트
- KRX의 ETF 포트폴리오 예탁 파일 응답에 추가된 신규 컬럼을 반영하여
etx/wrap.py파싱 로직 업데이트 (@seohyunjun)
- KRX의 ETF 포트폴리오 예탁 파일 응답에 추가된 신규 컬럼을 반영하여
- 버그 수정:
resample_ohlcv리샘플링 주파수- pandas 2.2.0에서 월말(
M) / 연말(A) deprecated 주파수가 제거됨에 따라ME/YE로 교체 (@mr-yoo)
- pandas 2.2.0에서 월말(
- 의존성 업데이트: numpy 2.0 지원
pyproject.toml의 numpy 의존성 하한을 2.0으로 상향하여 최신 numpy와의 호환성 확보 (@seohyunjun)
- 기타 유지보수 (Maintenance)
- 버그 리포트, 기능 요청, 질문용 GitHub 이슈 템플릿 3종 추가로 기여 편의성 향상
- FUNDING.yml 추가 및 README에 스폰서 뱃지 표시
- README에 KRX API 로그인에 필요한 환경 변수(
KRX_ID,KRX_PW) 설정 방법 문서화 - 카세트 파일 일부 재생성으로 테스트 안정성 보완
👨💻 Contributors
이번 릴리스에 기여해 주신 분들께 감사드립니다:
- @seohyunjun: KRX 세션 관리 시스템, 시장 OHLCV API, ETF 구조 업데이트, numpy 호환성
- @mr-yoo: 빌드 시스템 개선, 테스트 인프라 최적화, pandas 2.2.0 호환성 수정