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

Uploaded Python 3

File details

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

File metadata

  • Download URL: quiht_tools-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 242653cd9e4a58cc43455a3e953f9818b10fd9695af4e3f8015770f3b44038e1
MD5 25e870e55dfbc1dccd22f1670f1ddda8
BLAKE2b-256 7311fc5771a20206279c748e60b3719224d2ae75dac90bc42de0f329ddb8620c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quiht_tools-1.0.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 776977faaf062ff9020157cc71cce72b091bf8eb9e8a68f2c9f0d90dacac5cff
MD5 d37e24e84ae6efe144a361680bd59f0a
BLAKE2b-256 c444213e926b6d333a3c95ea59be3457d8c40dde26d0867fd1977a08a034949b

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