CLI utilities for quiht: generate .quiht.json manifests and build .quiht.zip packages from Qt .ui source trees.
Project description
quiht-tools
CLI utilities for quiht, the Qt .ui → HTML
renderer. quiht-tools generates .quiht.json manifests from Qt source trees
and packs everything into a single, portable .quiht.zip.
Install
pip install quiht-tools
# or, for a one-off run without installing:
uvx quiht-tools --help
Requires Python 3.10+. The only runtime dependency is fire.
The .quiht.zip format
A .quiht.zip is a standard ZIP archive whose root contains:
.quiht.json # the manifest
ui/ # all .ui files
resources/ # all resource files (PNG icons, etc.)
translations.json # optional
The manifest's ui and resources values are paths relative to the archive
root, so a .quiht.zip is a self-contained, all-in-one package that a quiht
viewer can load directly.
Commands
The console script is quiht.
gen (alias jsongen) — build a bundle + manifest
Scan a Qt source tree, copy referenced .ui files and their resources into a
bundle directory, and write .quiht.json.
quiht gen <src_dir> <dest_dir> \
--url_prefix "https://example.com/ui/" \
--ui_files "ui/dialog.ui,forms/welcome.ui"
--ui_filesaccepts a comma-separated list (paths relative tosrc_dir, or bare filenames). Omit it to auto-discover every.uiundersrc_dir.--url_prefixis written into the manifest'sprefixfield (optional).--resource_remaplets you supply dataset-specific filename fixups; nothing is hardcoded.
pack — create a .quiht.zip
From an existing bundle directory (one that already contains .quiht.json):
quiht pack ./example --output mybundle.quiht.zip
Or directly from a Qt source tree (runs gen into a temp dir first):
quiht pack <src_dir> --from_src --name mybundle --ui_files "a.ui,b.ui"
Defaults to <bundle-name>.quiht.zip in the current directory.
unpack — extract a .quiht.zip
quiht unpack mybundle.quiht.zip ./out
version
quiht version
Library use
from quiht_tools import generate, pack, unpack
generate("src/qt", "build/bundle")
pack("build/bundle", output="bundle.quiht.zip")
unpack("bundle.quiht.zip", "build/extracted")
Development
cd quiht-tools
uv run --with fire --with pytest python -m pytest -x
Versioning is driven by git tags via hatch-vcs; src/quiht_tools/__version__.py
is generated at build time and is git-ignored.
License
Apache-2.0.
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
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 quiht_tools-1.0.6.tar.gz.
File metadata
- Download URL: quiht_tools-1.0.6.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62424afc26c412c83c3eb424a1b5672308a31479a553f0618c8c7cf456c87900
|
|
| MD5 |
31a79aa14fc77a443c733d435e3e415a
|
|
| BLAKE2b-256 |
20f5109ff17b9b788e27b2cb643b4edbad98a90d810c4502c5e1b89a4315e780
|
File details
Details for the file quiht_tools-1.0.6-py3-none-any.whl.
File metadata
- Download URL: quiht_tools-1.0.6-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
531e0c1cfc918db2f0b79a2f4e097771710cada125fba8ae8ce1ced2605c1bba
|
|
| MD5 |
0d6f8ac4970bd16ca9e2db754c6db325
|
|
| BLAKE2b-256 |
fa0926010cb2ab7a6a1fb4fcc73299880ba23fe0f4274af2f9d0a6327947fddb
|