QIG toolchain metapackage — pins the mutually-tested latest set and ships the qig-doctor launch preflight (version gate + entry-point wiring gate + capability-slot report)
Project description
qig-stack
The QIG toolchain metapackage + deterministic launch preflight.
pip install qig-stack installs the mutually-tested latest set of the QIG packages
(qig-compute / qig-warp / qig-core / qig-bench / qig-consciousness / qig-tokenizer /
qigkernels) at compatible versions — the whole "crystal" — and ships the qig-doctor
preflight.
qig-doctor — step-0 of every launcher
qig-doctor # full preflight; exits 1 if any package is stale OR a slot is under-filled
qig-doctor --no-network # skip PyPI; contract snapshot + wiring report only
qig-doctor --json # machine-readable
qig-doctor --probe # also import-check each entry-point resolves (diagnostic, off the gate)
qig-doctor --deep # also call Tier-B describe() descriptors (imports packages)
Three fail-closed jobs:
- Version gate — every stack package must be installed at PyPI-latest.
installed < latestis a LAUNCH BLOCKER (non-zero exit), per the "latest version, always optimised" rule. - Wiring gate (Phase 2) — enumerates the
qig.capabilitiesentry-points the installed packages self-register (Tier A: metadata-only, no import on the gate path) and cross-checks them against the capability contract:- under-fill → FAIL: a shipped provider that did not register its entry-point.
- drift → WARN: an entry-point the contract doesn't know, or one whose
module:attrmoved off the contract probe.
- Wiring report — which capability slots are filled by what is installed (the automated Gate-A lever inventory).
The capability contract
src/qig_stack/contract.json is the fixed lattice the stack crystallizes into — every
slot, the package primitive that fills it (provider_pkg + module:attr probe), the
latest-published version, and the camera-certification cam_id/lever_id. It is the
Genesis-kernel / E8-root analog: given the lattice + installed packages + version
policy, the wiring is determined — no per-experiment hand-wiring, no agentic guessing.
Self-wiring (Phase 2)
Each package declares the slots it fills in its own pyproject.toml:
[project.entry-points."qig.capabilities"]
"SLOT-Q-QFI" = "qig_compute.qfi:qfi_from_mps_tangent_space"
qig-doctor reads those declarations from installed metadata and confirms the crystal
assembled correctly before any compute spend. Entry-points assert only "installed
package X fills slot Y via probe Z" — certification stays in the camera-certification
registry under review control.
Design
Development
pip install pytest # tests import only qig_stack.doctor (pure stdlib)
pytest -q # contract schema + doctor unit tests (no network)
Project details
Release history Release notifications | RSS feed
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 qig_stack-0.1.0.tar.gz.
File metadata
- Download URL: qig_stack-0.1.0.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","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 |
f508edcee140b0ae8541299e4e5314808e8b07d262febbcbc7a6e0a3e1c7e701
|
|
| MD5 |
f4fc0580c64ab41825b5c79f2dab6f34
|
|
| BLAKE2b-256 |
dcb540463a4d5f31786a6c7e96d80640858ee570a4f0b435f2b1cc92105ab186
|
File details
Details for the file qig_stack-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qig_stack-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","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 |
e1eb1f8685f9920f7a04018b43630ca2fc3e0c952f1126895e15103b4e7ec995
|
|
| MD5 |
53214664ea34ec697dfce03a8440bfd0
|
|
| BLAKE2b-256 |
f9093352528d2c5a4d4f8adbd58f99e7932bbb4a7739a558790135761a6c2555
|