Python 3 port by RekuNote (aka rekushiiiiii)
Hatenatools3 is a Python 3 port of Hatenatools, originally created by pbsds (Peder Bergebakken Sundt).
A separate Python 3 port of Hatenatools already exists. Hatenatools3 is not intended to claim precedence over that work. This port is specifically maintained and optimised for compatibility with RexiMemo's Python 3 Hatena server:
https://github.com/RexiMemo-org/hatena-server-py3
The distribution is named Hatenatools3, but the internal Python package directory intentionally remains named Hatenatools. This preserves the layout expected by hatena-server-py3 and allows the tools to be used as a drop-in replacement/update without renaming the server's module paths.
The port preserves the newer Hatenatools master feature set while adding Python 3 compatibility work, including support for Python 3.13+ where the standard-library audioop module is no longer available.
PPM.pyv1.5 — PPM/TMB metadata, thumbnails, frames, sound, and ffmpeg export (-e/-E).UGO.pyv0.93 — UGO read/write, item editing, embedded assets, and XML conversion.NTFT.pyv0.95 — NTFT image decoding/encoding with Pillow support.
- Python 3
- NumPy
- Pillow for image functionality
- ffmpeg for optional PPM video export
- Original Hatenatools: pbsds (Peder Bergebakken Sundt)
- Hatenatools3 Python 3 port: RekuNote (aka
rekushiiiiii) - Steven — DSiBrew documentation and frame decoding example
- Remark — 8x8 preview-image tiling help
- JSAfive —
.tmband.ugosamples - Austin Burk, Midmad, and WDLmaster — sound codec research
- jaames — proper p-frame translation
- WORD559 — ffmpeg video export
- wyntrr-end — ffmpeg export duration and frame scaling
Hatenatools3 retains the original Hatenatools AGPL-3.0 licensing. See License.txt.
Original format documentation: https://github.com/pbsds/hatena-server/wiki