v2.0.0 — Major redesign (dual-layer API + Quarto docs)
v2.0.0 — clean-cut major redesign. Dual-layer API + Quarto docs site.
This is a public API break vs v1.x. v1 사용자는 Migration Guide 를 참고하세요.
🎯 Highlights
- 이중 레이어 API —
hwpapi.App슬림 퍼사드 +app.doc.*컬렉션 /hwpapi.low.*(actions, parametersets, engine) escape hatch - Collection 일관성 —
app.doc.fields / bookmarks / hyperlinks / images / paragraphs / styles / tables, 모두 dict-like + iterable + filterable - Element value objects —
Paragraph,Run,Table,Cell - Context / IO / Errors 모듈 —
hwpapi.context.*,hwpapi.io.*,hwpapi.errors(4단계 예외 +wrap_com_error()) - Quarto 단일 문서 사이트 (43 페이지, 0 warnings)
🐛 Pre-publish fixes
- #6 —
from hwpapi.core import Appfailing on Linux/macOS: git index가HwpApi/(PascalCase) 로 트래킹되어 case-sensitive FS 에서ModuleNotFoundError발생. 디렉터리 케이싱을hwpapi/로 정규화. Windows (case-insensitive FS) 에서는 표면화되지 않았던 이슈. - HTML 저장 1-line:
_SAVE_FORMAT_MAP에.html→HTML+,.htm→HTML추가. 이제app.save("report.html")만으로 HTML 저장 가능.
⚠️ Removed (Breaking)
hwpapi/classes/전체 삭제 (~4,924 LOC)Apppublic 멤버 82 → ~12app.charshape = {...}→charshape_scope(app, **fmt)컨텍스트app.preset.*,app.template.*,app.config.*,app.lint(),app.view.*,app.debug.*,app.convert.*,app.sel.*,app.move.*,app.table.*,app.cell.*,app.page.*모두 제거hwpapi.parametersets(top-level) →hwpapi.low.parametersetsnbs/nbdev 파이프라인 폐기
전체 변경점: CHANGELOG.md.
Install
pip install hwpapiv1 에 머무르려면: pip install "hwpapi<2"