Skip to main content

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 package
  • examples/samples: sample hwpx and hwp documents used for local experimentation
  • examples/output_smoke: committed smoke corpus for tests
  • examples/output: showcase outputs generated from the smoke corpus
  • tools: bundled Java-based .hwp -> .hwpx converter 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:

  1. JAKAL_HWPX_SAMPLE_DIR
  2. all_hwpx_flat/
  3. examples/output_smoke/
  4. examples/output/
  5. 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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jakal_hwpx-0.1.0.tar.gz (38.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jakal_hwpx-0.1.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

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

Hashes for jakal_hwpx-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7efb3ab3889476565affad272350fe1c0a40d2ff7eab8a3320f71cbe8767e61f
MD5 b56e08fc8e615a366e1f90c314bbe87f
BLAKE2b-256 ce3e5cb4f45de5aa1d03a10b4957ee84e297115a01ad05f23d6a0988b3f2084b

See more details on using hashes here.

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

Hashes for jakal_hwpx-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adadfdfb102c906e4b996e8173f0752ff524ce80ca48d7ae12272e6f7a7561f5
MD5 9229c076358bcdcfdfeac6c9a14c4052
BLAKE2b-256 4f10611edbd1bbdca531f17577cd70a8861b09fde718d27bc187f3a659b6b3d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page