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.4.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.4-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quiht_tools-1.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 7f70e78ae22ece830bb43c5b4437b05506e37fb6b7641f9430cde78c8a09162c
MD5 ae8060478d9932079fe9a892fd8dcab0
BLAKE2b-256 737eaa3a9de6665e7fdb4d656e2dc28c31163569853f67198d808955f4a84932

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quiht_tools-1.0.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b4eaca6b89492f27302b384c81c4953d89b8009297d0ad0e5ffcd4ad421ddafc
MD5 a6eea564e81c1ce4cfb2165d9ccce0b7
BLAKE2b-256 254117692f0ae3b56618905c6a897318ed9407a8a9184b7c507043a59c46f59c

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