v0.0.3 — Pythonic refactor + Feature tests + Site redesign
🎯 이번 릴리즈의 주요 변경
패키지 구조 재편
parametersets.py(4,198줄) →parametersets/패키지: mappings.py, backends.py, properties.py, base.py + 143개 서브클래스 10개 파일로 도메인 분리core.py분리:core/engine.py+core/app.pyclasses.py분리:classes/accessors.py+classes/shapes.py
ParameterSet 시스템 개선
- PropertyDescriptor 기반으로 704개 액션·286개 ParameterSet 자동 등록
- UnitProperty:
"210mm","21cm","8.27in","12pt"자동 변환 - NestedProperty / ArrayProperty: 자동 생성되는 서브 pset / HArray (tab-completion 지원)
테스트
- 2,306개 단위 테스트 통과 (HWP 불필요)
- 13개 E2E 시나리오 (
tests/smoke_scenarios.py) — 실제 HWP에서 read-back assertion - 18개 Feature 테스트 (
tests/smoke_features.py) — 문자 서식, 문단 서식, 탭/복사/Undo, 날짜/페이지번호/책갈피/하이퍼링크 등 - 각 시나리오는
GetDefault로 HWP 상태를 읽어 실제 결과를 검증 (단순히 "실행됐음"이 아니라 "결과가 맞음")
문서
- 홈페이지 전면 재설계 (https://jundamin.github.io/hwpapi/)
- 사용 사례 튜토리얼 4편 추가 (회의록, 일괄 편집, 데이터→표, 보고서 생성)
- 기능 둘러보기 (
03_feature_tour.ipynb)
CI/CD
- GitHub Pages 배포 워크플로우 현대화 (Node 24 호환)
- PyPI Trusted Publisher 설정 (OIDC, 토큰 저장 불필요)
기타
License :: OSI Approved :: MIT Licenseclassifier 제거 (PEP 639 대응)- 기본 로그 레벨
INFO→WARNING(production 환경 기준)
전체 변경점: ...v0.0.3