Skip to content

v0.0.3 — Pythonic refactor + Feature tests + Site redesign

Choose a tag to compare

@JunDamin JunDamin released this 14 Apr 22:11
· 96 commits to main since this release

🎯 이번 릴리즈의 주요 변경

패키지 구조 재편

  • parametersets.py (4,198줄) → parametersets/ 패키지: mappings.py, backends.py, properties.py, base.py + 143개 서브클래스 10개 파일로 도메인 분리
  • core.py 분리: core/engine.py + core/app.py
  • classes.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 License classifier 제거 (PEP 639 대응)
  • 기본 로그 레벨 INFOWARNING (production 환경 기준)

전체 변경점: ...v0.0.3