Round-trip safe HWPX reader/editor/writer for Python
Project description
jakal-hwpx
Python tools for reading, editing, validating, and writing HWPX documents.
Korean overview: README.ko.md
What This Repo Contains
src/jakal_hwpx: the importable Python packageexamples/samples: samplehwpxandhwpdocuments used for local experimentationexamples/output_smoke: committed smoke corpus for testsexamples/output: showcase outputs generated from the smoke corpustools: bundled Java-based.hwp -> .hwpxconverter assets used by maintainer workflows
This README is intentionally repo-level. Detailed module and API notes live in HWPX_MODULE.md.
Installation
You need Python 3.11 or newer.
Install from PyPI:
python -m pip install --upgrade pip
python -m pip install jakal-hwpx
Install from a local checkout:
python -m pip install --upgrade pip
python -m pip install .
For editable development mode:
python -m pip install -e .[dev]
The package name is jakal-hwpx and the import path is jakal_hwpx.
Quick Start
from jakal_hwpx import HwpxDocument
doc = HwpxDocument.blank()
doc.set_metadata(title="Example", creator="jakal-hwpx")
doc.set_paragraph_text(0, 0, "Hello HWPX")
doc.save("build/hello.hwpx")
For module-level usage, document parts, and editing helpers, see HWPX_MODULE.md.
Repository Layout
src/jakal_hwpx/ Python package
examples/samples/hwpx/ sample HWPX documents
examples/samples/hwp/ sample HWP documents
examples/output_smoke/ committed smoke corpus used by tests
examples/output/ generated showcase outputs
scripts/ maintainer scripts
tools/ bundled HWP conversion tooling
Testing
Run the default test suite:
python -m pip install -e .[dev]
python -m pytest -q
The tests first look for samples in:
JAKAL_HWPX_SAMPLE_DIRall_hwpx_flat/examples/output_smoke/examples/output/examples/samples/hwpx/
Sample Files
Repository sample inputs now live under examples/samples/ instead of the repo root:
examples/samples/hwpx/examples/samples/hwp/
Generated validation outputs belong under build/validation/.
More Docs
- HWPX_MODULE.md: package structure, module roles, and API usage
- examples/SHOWCASE.md: showcase generation workflow
- RELEASING.md: release checklist
- THIRD_PARTY_NOTICES.md: scope notes for sample files, bundled tools, and HWPX-related naming
License
Original project-authored source code in this repository is available under the MIT License.
Sample documents, committed outputs, and bundled toolchain artifacts under tools/ can be subject to separate rights or upstream licenses. See THIRD_PARTY_NOTICES.md before redistributing those assets.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jakal_hwpx-0.1.0.tar.gz.
File metadata
- Download URL: jakal_hwpx-0.1.0.tar.gz
- Upload date:
- Size: 38.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7efb3ab3889476565affad272350fe1c0a40d2ff7eab8a3320f71cbe8767e61f
|
|
| MD5 |
b56e08fc8e615a366e1f90c314bbe87f
|
|
| BLAKE2b-256 |
ce3e5cb4f45de5aa1d03a10b4957ee84e297115a01ad05f23d6a0988b3f2084b
|
File details
Details for the file jakal_hwpx-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jakal_hwpx-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
adadfdfb102c906e4b996e8173f0752ff524ce80ca48d7ae12272e6f7a7561f5
|
|
| MD5 |
9229c076358bcdcfdfeac6c9a14c4052
|
|
| BLAKE2b-256 |
4f10611edbd1bbdca531f17577cd70a8861b09fde718d27bc187f3a659b6b3d3
|