Skip to content

v2.0.0 — Major redesign (dual-layer API + Quarto docs)

Choose a tag to compare

@JunDamin JunDamin released this 28 Apr 01:38
· 24 commits to main since this release

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

  • 이중 레이어 APIhwpapi.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 objectsParagraph, Run, Table, Cell
  • Context / IO / Errors 모듈hwpapi.context.*, hwpapi.io.*, hwpapi.errors (4단계 예외 + wrap_com_error())
  • Quarto 단일 문서 사이트 (43 페이지, 0 warnings)

🐛 Pre-publish fixes

  • #6from hwpapi.core import App failing on Linux/macOS: git index가 HwpApi/ (PascalCase) 로 트래킹되어 case-sensitive FS 에서 ModuleNotFoundError 발생. 디렉터리 케이싱을 hwpapi/ 로 정규화. Windows (case-insensitive FS) 에서는 표면화되지 않았던 이슈.
  • HTML 저장 1-line: _SAVE_FORMAT_MAP.htmlHTML+, .htmHTML 추가. 이제 app.save("report.html") 만으로 HTML 저장 가능.

⚠️ Removed (Breaking)

  • hwpapi/classes/ 전체 삭제 (~4,924 LOC)
  • App public 멤버 82 → ~12
  • app.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.parametersets
  • nbs/ nbdev 파이프라인 폐기

전체 변경점: CHANGELOG.md.

Install

pip install hwpapi

v1 에 머무르려면: pip install "hwpapi<2"