Skip to main content

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_files accepts a comma-separated list (paths relative to src_dir, or bare filenames). Omit it to auto-discover every .ui under src_dir.
  • --url_prefix is written into the manifest's prefix field (optional).
  • --resource_remap lets 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

quiht_tools-1.0.7.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

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

quiht_tools-1.0.7-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file quiht_tools-1.0.7.tar.gz.

File metadata

  • Download URL: quiht_tools-1.0.7.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

Hashes for quiht_tools-1.0.7.tar.gz
Algorithm Hash digest
SHA256 e83c04a75b8e837e5e8e6f2256ccbc06ce670da2d45b7eeef9a4234f1ed5b2c7
MD5 255b801e26cce67a59a10f868181c997
BLAKE2b-256 0de44b0af887680ecb0011cdbdd9a60bcada77268ba015ad239561dc9030d8ad

See more details on using hashes here.

File details

Details for the file quiht_tools-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: quiht_tools-1.0.7-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

Hashes for quiht_tools-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9b87aab8bea57b75ae5fe9caa553199348d88ecab24edd42d64a9ad5d22a3d82
MD5 b339a935a883fa3046765f6bd67f6b42
BLAKE2b-256 2f06dedaad12ffdc288b2a435408669974fb5e9ad85124feacc9e567a04fccf4

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