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

Uploaded Python 3

File details

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

File metadata

  • Download URL: quiht_tools-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 80dade092a6bbdb664a22dd002b40513bd1526024d93e5c8b8d81fdef51e6cd5
MD5 51a2352f7c3a78986a10f25bcb54c256
BLAKE2b-256 c3d9b95f139410614e2fb83da0d4133807fe56192d041aadc1283b60e360cff1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quiht_tools-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bd961b3d3afc5cb5823c42177d391e5be9f57a2825234d0e82fef734afa0a16a
MD5 879a4e149fe6fa424b0e911cf6c489b1
BLAKE2b-256 aef61f96b442825eff1f5531a40453a21bb5a77fee690ce9c1cdfa1bfcc4f813

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