wai-quantum 0.8.0, wai-quantum-qpu 0.4.0, wai-quantum-cli 0.2.3, the job service 0.2.1, and the Python and JavaScript packages 0.1.1 #564
44 changed files with 277 additions and 224 deletions
|
|
@ -3474,7 +3474,7 @@ version = "0.1.0"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
|
|
@ -398,6 +398,58 @@ wire format may change and such changes are recorded here.
|
|||
implementation, `channel_lineup_verify.py`, from the text alone, agrees on every vector, and a
|
||||
CI step runs both.
|
||||
|
||||
### wai-quantum 0.8.0, wai-quantum-qpu 0.4.0 and wai-quantum-cli 0.2.3: QIR and jeff, the variational and algorithm library, pulse and dynamics, the state vector on a fabric's members and resident on the GPU, and components a host registers
|
||||
|
||||
This release carries the six entries below it, down to pulse and dynamics. Two of them change
|
||||
`engine::schema::FILES`, a public array whose length is part of its type, so the engine moves to its next 0.y,
|
||||
a major bump before 1.0 (`wai-quantum/VERSIONING.md`), and `wai-quantum-qpu`, whose functions take the engine's
|
||||
types, moves with it. Everything else in them only adds: `wai-quantum-cli` 0.2.3 requires `wai-quantum` 0.8.0 and
|
||||
`wai-quantum-qpu` 0.4.0; the job service is 0.2.1, and the Python package and `@transaction-science/wai-quantum`
|
||||
are 0.1.1, each carrying the 0.8.0 engine. The desktop app stays 0.1.0; its installers are released with its update
|
||||
key. Nothing is deprecated.
|
||||
|
||||
- **wai-quantum 0.8.0:**
|
||||
- programs in QIR 1.x and 2.x under their profiles, and in jeff 0.3, read and written, each conversion checked by
|
||||
the equivalence ladder (`engine::formats`, the codes `Q700` to `Q721`);
|
||||
- the variational and algorithm library: a job's parameters bound, exact gradients, deterministic optimisers, the
|
||||
variational eigensolver, QAOA and algorithm builders (`engine::variational`, `engine::algorithms`, the schema
|
||||
`wai.quantum.algorithms/1`, the codes `J050` to `J053`);
|
||||
- pulse and dynamics: OpenPulse read, a pulse simulator, the method `pulse`, schedules and checks, and receipts
|
||||
that bind the calibrations (`qasm::pulse`, `quantum_pulse`, `engine::pulse`, `schemas/pulse.v1.json`, the codes
|
||||
`J040` and `J041`);
|
||||
- the state vector on a fabric's members, and split across several devices on one node (`engine::fabric`, a job's
|
||||
`fabric`), and the method `stabilizer_rank` for Clifford+T;
|
||||
- the state vector resident on the GPU, `auto` placed by committed measurements (`engine::fabric_measured`), and
|
||||
sparse Pauli dynamics on a GPU with the CPU's bits (`quantum_spd::device`, the `pauli` method on the fabric);
|
||||
- methods, compiler passes, noise channels and file formats behind four traits, every built-in registered
|
||||
through them, and a host's own components checked and marked uncertified in what they produce
|
||||
(`engine::registry`, the codes `J060` to `J065`).
|
||||
- **wai-quantum-qpu 0.4.0:** requires `wai-quantum` 0.8.0, and nothing else changes.
|
||||
- **wai-quantum-cli 0.2.3:** `convert`, `components`, `fabric`, `gradient`, `optimize`, `vqe`, `qaoa`, `build`,
|
||||
`pulse schedule | check`, and `run --fabric | --param | --method pulse`; every verb reads `.ll`, `.qir` and `.jeff`.
|
||||
The local MCP server gains `convert_program`, `list_components`, `list_fabric`, `gradient_qasm`, `optimize_qasm`,
|
||||
`vqe_ground_state`, `qaoa_maxcut`, `build_algorithm`, `pulse_schedule` and `pulse_check`.
|
||||
- **The job service 0.2.1:** `POST /v1/convert`, `/v1/gradient`, `/v1/optimize`, `/v1/vqe`, `/v1/qaoa`, `/v1/build`,
|
||||
`/v1/pulse/schedule` and `/v1/pulse/check`; a job's `source` in another format, its `fabric` and `params`, and the
|
||||
method `pulse`; its components in `GET /v1`; and its MCP server's tools to match.
|
||||
- **The Python package 0.1.1 and `@transaction-science/wai-quantum` 0.1.1:** the 0.8.0 engine; their names are
|
||||
unchanged.
|
||||
- **What moves with the version:** the engine's version is among the sealed bytes of a stamped result, so the
|
||||
page's pinned digests move (the course check's 969b2c1c… to 1a9aa0ad…, the compile's ac948133… to beffb3cb…, the
|
||||
estimate's 8715e76b… to db90b147…), the answer set's stored seal is written again (`WAI_ANSWER_BUNDLE_WRITE=1`),
|
||||
and the notebooks' stored outputs are stored again. The job pins strip the engine and schema, and do not move.
|
||||
- **What a caller may have to change:** `engine::schema::FILES`, as the two entries below say; and a caller of
|
||||
`wai-quantum-qpu`'s `job::run` or `job::compiled_json` passes 0.8.0's types.
|
||||
- Every lockfile that holds one of these crates moves with them (seventeen), so a `--locked` build still reads its
|
||||
own, and `wai-rs`'s optional requirement on the engine moves to 0.8.0.
|
||||
- **Breaking:** `wire:corpus:wai/quantum-conformance/answers/cases/bell-stored.wqa`: the stored answer's receipt
|
||||
marker seals the engine's version, so it is written again at 0.8.0, as at each release. A conformance run checks a
|
||||
stored answer with the engine that wrote it: 0.7.0's corpus with 0.7.0, this one with 0.8.0.
|
||||
- **Breaking:** `wire:corpus:wai/quantum-conformance/answers/cases/bell-stored-changed.wqa`: the same stored answer
|
||||
with one sample's shots changed, written again with it; it still does not verify.
|
||||
- **Breaking:** `wire:corpus:wai/quantum-conformance/answers/bundle.json`: the corpus inline, written again with both
|
||||
stored answers.
|
||||
|
||||
### wai-quantum: extension points, registration traits for methods, passes, noise channels and formats
|
||||
|
||||
- **`engine::registry`**: four traits a component implements, and one registry the engine goes through. `Method`
|
||||
|
|
|
|||
|
|
@ -434,7 +434,7 @@
|
|||
"valid": true
|
||||
}
|
||||
},
|
||||
"answer": "root = Answer([bell, counts, check, seal])\n```qasm bell\nOPENQASM 3.0;\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc = measure q;\n```\ncounts = Histogram(@Sample(bell, 1000))\ncheck = Verdict(@Check(bell, {\"00\": 0.5, \"11\": 0.5}))\nseal = Receipt(@Seal([bell, counts, check]))\n]]>wai:receipt {\"statement\":\"seal\",\"receipt\":{\"alg\":\"ed25519\",\"canon\":\"rfc8785\",\"key\":\"ed4928c628d1c2c6eae90338905995612959273a5c63f93636c14614ac8737d1\",\"digest\":\"172dd72f18d77dc7ef99525fc61859062015f4a44a34d8ae5c76a7ba4a1b7c6d\",\"signature\":\"4e0288de0313b8f76b03bcbcfedf01989833fd63fd31e7bf0d981b75541c0362b92af555b161a552e6a4242e5a1793d9f90705ef8297db924a3abd577e6e8907\"}}\n"
|
||||
"answer": "root = Answer([bell, counts, check, seal])\n```qasm bell\nOPENQASM 3.0;\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc = measure q;\n```\ncounts = Histogram(@Sample(bell, 1000))\ncheck = Verdict(@Check(bell, {\"00\": 0.5, \"11\": 0.5}))\nseal = Receipt(@Seal([bell, counts, check]))\n]]>wai:receipt {\"statement\":\"seal\",\"receipt\":{\"alg\":\"ed25519\",\"canon\":\"rfc8785\",\"key\":\"ed4928c628d1c2c6eae90338905995612959273a5c63f93636c14614ac8737d1\",\"digest\":\"cb520fe1dd07ac764305a9f073b92c2d379543e75fbf43ba4cf7b5f5acede921\",\"signature\":\"b4b31ddefc193f8d411f6792dbf78038b3fcd3a231d339ce8fc29c4b6e003e26b655d3d691d93d53febbe1bd5d7628fc8955d6afaa4589891ae3a34ad3133703\"}}\n"
|
||||
},
|
||||
{
|
||||
"name": "bell-stored-changed",
|
||||
|
|
@ -456,7 +456,7 @@
|
|||
"valid": false
|
||||
}
|
||||
},
|
||||
"answer": "root = Answer([bell, counts, check, seal])\n```qasm bell\nOPENQASM 3.0;\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc = measure q;\n```\ncounts = Histogram(@Sample(bell, 999))\ncheck = Verdict(@Check(bell, {\"00\": 0.5, \"11\": 0.5}))\nseal = Receipt(@Seal([bell, counts, check]))\n]]>wai:receipt {\"statement\":\"seal\",\"receipt\":{\"alg\":\"ed25519\",\"canon\":\"rfc8785\",\"key\":\"ed4928c628d1c2c6eae90338905995612959273a5c63f93636c14614ac8737d1\",\"digest\":\"172dd72f18d77dc7ef99525fc61859062015f4a44a34d8ae5c76a7ba4a1b7c6d\",\"signature\":\"4e0288de0313b8f76b03bcbcfedf01989833fd63fd31e7bf0d981b75541c0362b92af555b161a552e6a4242e5a1793d9f90705ef8297db924a3abd577e6e8907\"}}\n"
|
||||
"answer": "root = Answer([bell, counts, check, seal])\n```qasm bell\nOPENQASM 3.0;\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc = measure q;\n```\ncounts = Histogram(@Sample(bell, 999))\ncheck = Verdict(@Check(bell, {\"00\": 0.5, \"11\": 0.5}))\nseal = Receipt(@Seal([bell, counts, check]))\n]]>wai:receipt {\"statement\":\"seal\",\"receipt\":{\"alg\":\"ed25519\",\"canon\":\"rfc8785\",\"key\":\"ed4928c628d1c2c6eae90338905995612959273a5c63f93636c14614ac8737d1\",\"digest\":\"cb520fe1dd07ac764305a9f073b92c2d379543e75fbf43ba4cf7b5f5acede921\",\"signature\":\"b4b31ddefc193f8d411f6792dbf78038b3fcd3a231d339ce8fc29c4b6e003e26b655d3d691d93d53febbe1bd5d7628fc8955d6afaa4589891ae3a34ad3133703\"}}\n"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,4 +10,4 @@ c = measure q;
|
|||
counts = Histogram(@Sample(bell, 999))
|
||||
check = Verdict(@Check(bell, {"00": 0.5, "11": 0.5}))
|
||||
seal = Receipt(@Seal([bell, counts, check]))
|
||||
]]>wai:receipt {"statement":"seal","receipt":{"alg":"ed25519","canon":"rfc8785","key":"ed4928c628d1c2c6eae90338905995612959273a5c63f93636c14614ac8737d1","digest":"172dd72f18d77dc7ef99525fc61859062015f4a44a34d8ae5c76a7ba4a1b7c6d","signature":"4e0288de0313b8f76b03bcbcfedf01989833fd63fd31e7bf0d981b75541c0362b92af555b161a552e6a4242e5a1793d9f90705ef8297db924a3abd577e6e8907"}}
|
||||
]]>wai:receipt {"statement":"seal","receipt":{"alg":"ed25519","canon":"rfc8785","key":"ed4928c628d1c2c6eae90338905995612959273a5c63f93636c14614ac8737d1","digest":"cb520fe1dd07ac764305a9f073b92c2d379543e75fbf43ba4cf7b5f5acede921","signature":"b4b31ddefc193f8d411f6792dbf78038b3fcd3a231d339ce8fc29c4b6e003e26b655d3d691d93d53febbe1bd5d7628fc8955d6afaa4589891ae3a34ad3133703"}}
|
||||
|
|
|
|||
|
|
@ -10,4 +10,4 @@ c = measure q;
|
|||
counts = Histogram(@Sample(bell, 1000))
|
||||
check = Verdict(@Check(bell, {"00": 0.5, "11": 0.5}))
|
||||
seal = Receipt(@Seal([bell, counts, check]))
|
||||
]]>wai:receipt {"statement":"seal","receipt":{"alg":"ed25519","canon":"rfc8785","key":"ed4928c628d1c2c6eae90338905995612959273a5c63f93636c14614ac8737d1","digest":"172dd72f18d77dc7ef99525fc61859062015f4a44a34d8ae5c76a7ba4a1b7c6d","signature":"4e0288de0313b8f76b03bcbcfedf01989833fd63fd31e7bf0d981b75541c0362b92af555b161a552e6a4242e5a1793d9f90705ef8297db924a3abd577e6e8907"}}
|
||||
]]>wai:receipt {"statement":"seal","receipt":{"alg":"ed25519","canon":"rfc8785","key":"ed4928c628d1c2c6eae90338905995612959273a5c63f93636c14614ac8737d1","digest":"cb520fe1dd07ac764305a9f073b92c2d379543e75fbf43ba4cf7b5f5acede921","signature":"b4b31ddefc193f8d411f6792dbf78038b3fcd3a231d339ce8fc29c4b6e003e26b655d3d691d93d53febbe1bd5d7628fc8955d6afaa4589891ae3a34ad3133703"}}
|
||||
|
|
|
|||
2
wai/tools/quantum-meter/Cargo.lock
generated
2
wai/tools/quantum-meter/Cargo.lock
generated
|
|
@ -1017,7 +1017,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
2
wai/tools/quantum-wgsl-check/Cargo.lock
generated
2
wai/tools/quantum-wgsl-check/Cargo.lock
generated
|
|
@ -599,7 +599,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
2
wai/wai-audit/Cargo.lock
generated
2
wai/wai-audit/Cargo.lock
generated
|
|
@ -1005,7 +1005,7 @@ version = "0.1.0"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
2
wai/wai-key-proxy/Cargo.lock
generated
2
wai/wai-key-proxy/Cargo.lock
generated
|
|
@ -985,7 +985,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
2
wai/wai-ledger/Cargo.lock
generated
2
wai/wai-ledger/Cargo.lock
generated
|
|
@ -1007,7 +1007,7 @@ version = "0.1.0"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
2
wai/wai-pack/Cargo.lock
generated
2
wai/wai-pack/Cargo.lock
generated
|
|
@ -1257,7 +1257,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
6
wai/wai-quantum-cli/Cargo.lock
generated
6
wai/wai-quantum-cli/Cargo.lock
generated
|
|
@ -1213,7 +1213,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"cudarc",
|
||||
|
|
@ -1228,7 +1228,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-cli"
|
||||
version = "0.2.2"
|
||||
version = "0.2.3"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"clap_complete",
|
||||
|
|
@ -1241,7 +1241,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-qpu"
|
||||
version = "0.3.0"
|
||||
version = "0.4.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"serde_json",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "wai-quantum-cli"
|
||||
version = "0.2.2"
|
||||
version = "0.2.3"
|
||||
edition = "2024"
|
||||
rust-version = "1.97"
|
||||
license = "Apache-2.0"
|
||||
|
|
@ -42,5 +42,5 @@ getrandom = "0.4"
|
|||
# result's receipt still verifies after any JSON writer has carried it.
|
||||
serde_json = { version = "1", features = ["float_roundtrip"] }
|
||||
ureq = { version = "3", optional = true, features = ["json"] }
|
||||
wai-quantum = { version = "0.7.0", path = "../wai-quantum", default-features = false, features = ["full"] }
|
||||
wai-quantum-qpu = { version = "0.3.0", path = "../wai-quantum-qpu", optional = true }
|
||||
wai-quantum = { version = "0.8.0", path = "../wai-quantum", default-features = false, features = ["full"] }
|
||||
wai-quantum-qpu = { version = "0.4.0", path = "../wai-quantum-qpu", optional = true }
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
"name": "science.transaction.wai/quantum",
|
||||
"title": "WAI Quantum",
|
||||
"description": "OpenQASM 3 programs run, checked against their intent and signed on this machine.",
|
||||
"version": "0.2.2",
|
||||
"version": "0.2.3",
|
||||
"websiteUrl": "https://wai.transaction.science/quantum-run/",
|
||||
"packages": [
|
||||
{
|
||||
"registryType": "cargo",
|
||||
"registryBaseUrl": "https://crates.io",
|
||||
"identifier": "wai-quantum-cli",
|
||||
"version": "0.2.2",
|
||||
"version": "0.2.3",
|
||||
"transport": {
|
||||
"type": "stdio"
|
||||
},
|
||||
|
|
|
|||
6
wai/wai-quantum-desktop/Cargo.lock
generated
6
wai/wai-quantum-desktop/Cargo.lock
generated
|
|
@ -4453,7 +4453,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
@ -4466,7 +4466,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-cli"
|
||||
version = "0.2.2"
|
||||
version = "0.2.3"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"clap_complete",
|
||||
|
|
@ -4493,7 +4493,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-qpu"
|
||||
version = "0.3.0"
|
||||
version = "0.4.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"serde_json",
|
||||
|
|
|
|||
|
|
@ -16,11 +16,11 @@ tauri = { version = "2", features = [] }
|
|||
serde_json = { version = "1", features = ["float_roundtrip"] }
|
||||
# The assistant's model server, called by the app (a local one by default).
|
||||
ureq = { version = "3", features = ["json"] }
|
||||
wai-quantum = { version = "0.7.0", path = "../wai-quantum", default-features = false, features = ["quantum_engine", "quantum_receipt", "quantum_toolchain", "quantum_qec", "quantum_noise"] }
|
||||
wai-quantum-cli = { version = "0.2.2", path = "../wai-quantum-cli", default-features = false }
|
||||
wai-quantum = { version = "0.8.0", path = "../wai-quantum", default-features = false, features = ["quantum_engine", "quantum_receipt", "quantum_toolchain", "quantum_qec", "quantum_noise"] }
|
||||
wai-quantum-cli = { version = "0.2.3", path = "../wai-quantum-cli", default-features = false }
|
||||
# The person's own providers: their registry, their credentials in the
|
||||
# operating system's keychain, and runs on them sealed with the app's key.
|
||||
wai-quantum-qpu = { version = "0.3.0", path = "../wai-quantum-qpu" }
|
||||
wai-quantum-qpu = { version = "0.4.0", path = "../wai-quantum-qpu" }
|
||||
# Updates: a newer release found in its update manifest, and installed only
|
||||
# when its signature verifies with the public key in tauri.conf.json.
|
||||
tauri-plugin-updater = "2.14.0"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
The WAI quantum job service's engine in WebAssembly, for a page or for Node. A job is planned, run and sealed here exactly as the service plans, runs and seals it. The answer is the service's JSON, signed with a key you hold, and any job's receipt, the service's included, is checked here. Programs are linted, drawn and critiqued before they run.
|
||||
|
||||
This is version 0.1.0 of the package. It carries the engine of `wai-quantum` 0.7.0, built from `wai-web` with its `quantum_engine` feature. The package keeps its own version line, as the Python package does. The module also holds the rest of `wai-web`'s browser surface (reading WAI envelopes among it); this page is about the quantum engine.
|
||||
This is version 0.1.1 of the package. It carries the engine of `wai-quantum` 0.8.0, built from `wai-web` with its `quantum_engine` feature. The package keeps its own version line, as the Python package does. The module also holds the rest of `wai-web`'s browser surface (reading WAI envelopes among it); this page is about the quantum engine.
|
||||
|
||||
## Install
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@transaction-science/wai-quantum",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"description": "The WAI quantum engine in WebAssembly: OpenQASM programs planned, run and signed in a page or in Node as the WAI quantum job service runs them, receipts checked, programs linted and drawn.",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
|
|
|
|||
4
wai/wai-quantum-py/Cargo.lock
generated
4
wai/wai-quantum-py/Cargo.lock
generated
|
|
@ -504,7 +504,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
@ -514,7 +514,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-py"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
dependencies = [
|
||||
"pyo3",
|
||||
"serde_json",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "wai-quantum-py"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
edition = "2024"
|
||||
rust-version = "1.97"
|
||||
license = "Apache-2.0"
|
||||
|
|
@ -22,7 +22,7 @@ pyo3 = { version = "=0.29.3", features = ["abi3-py39", "extension-module"] }
|
|||
serde_json = { version = "1", features = ["float_roundtrip"] }
|
||||
# quantum_qec: codes, decoders and thresholds (`qec`); quantum_noise: mitigation
|
||||
# in a job (`mitigate`), learned noise models among them.
|
||||
wai-quantum = { version = "0.7.0", path = "../wai-quantum", default-features = false, features = ["quantum_engine", "quantum_receipt", "quantum_qec", "quantum_noise"] }
|
||||
wai-quantum = { version = "0.8.0", path = "../wai-quantum", default-features = false, features = ["quantum_engine", "quantum_receipt", "quantum_qec", "quantum_noise"] }
|
||||
|
||||
[profile.release]
|
||||
lto = "thin"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ pip install "wai-quantum[widgets]" # and the notebook widgets (anywidget)
|
|||
The same wheels are attached, each with its SHA-256, to the `wai-quantum-cli-v<version>` release on the forge that carries them:
|
||||
|
||||
```sh norun=install
|
||||
pip install wai_quantum-0.1.0-cp39-abi3-<platform>.whl
|
||||
pip install wai_quantum-0.1.1-cp39-abi3-<platform>.whl
|
||||
```
|
||||
|
||||
To build the wheel yourself, with Rust 1.98 and maturin 1.15.0:
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ pip install "wai-quantum[widgets]" # 另加笔记本小组件(anywidget)
|
|||
同样的 wheel 也附在代码托管平台(forge)上包含它们的 `wai-quantum-cli-v<version>` 发布版中,每个都附有 SHA-256:
|
||||
|
||||
```sh norun=install
|
||||
pip install wai_quantum-0.1.0-cp39-abi3-<platform>.whl
|
||||
pip install wai_quantum-0.1.1-cp39-abi3-<platform>.whl
|
||||
```
|
||||
|
||||
要自己构建 wheel,需要 Rust 1.98 和 maturin 1.15.0:
|
||||
|
|
|
|||
|
|
@ -16,10 +16,10 @@
|
|||
"id": "bell-receipt-1",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.795118Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.795034Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.799657Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.799448Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.736123Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.736056Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.741092Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.740773Z"
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
|
|
@ -34,10 +34,10 @@
|
|||
"id": "bell-receipt-2",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.800482Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.800382Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.802754Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.802552Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.741884Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.741820Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.744379Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.744088Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -67,17 +67,17 @@
|
|||
"id": "bell-receipt-3",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.803379Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.803320Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.839939Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.839650Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.744955Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.744895Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.783189Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.782630Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "5361ffd80f1444dcb008849dc8a7eba7",
|
||||
"model_id": "abb1e0122a7d42229591c0b955738bbe",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
|
|
@ -105,22 +105,22 @@
|
|||
"id": "bell-receipt-4",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.840978Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.840919Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.843330Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.843016Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.784778Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.784713Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.786808Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.786677Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "1c17564bc8f04714913aee26aec298cf",
|
||||
"model_id": "8b21729581114c3c9b105acbaf05f8c4",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
"text/html": [
|
||||
"<div class=\"wq-receipt\" style=\"font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:13px;line-height:1.45;border:1px solid var(--jp-border-color2,rgba(127,127,127,.35));border-radius:8px;padding:10px 12px;margin:2px 0;max-width:100%;overflow-x:auto\"><div>receipt <span class=\"wq-badge\" style=\"display:inline-block;padding:0 7px;border-radius:9px;font-size:11px;font-weight:600;color:#fff;background:#10b981\">verified</span> <span style=\"opacity:.7\">checked here, binding the request and the result as given</span></div><table style=\"border-collapse:collapse;margin-top:6px\"><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">signer</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\"><span title=\"did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd\">did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd</span></td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">key</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">03a107bff3ce10be1d70dd18e74bc09967e4d6309ba50d5f1ddc8664125531b8</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">digest</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">800d66009e3991cb28a4312ac6fb5b262cab458bd8a025d1b689cb0d5a6edec1</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">signature</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">b61adcc941ba7019…c7543e676ad82b0a</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">form</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">ed25519 over rfc8785 canonical JSON</td></tr></table></div>"
|
||||
"<div class=\"wq-receipt\" style=\"font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:13px;line-height:1.45;border:1px solid var(--jp-border-color2,rgba(127,127,127,.35));border-radius:8px;padding:10px 12px;margin:2px 0;max-width:100%;overflow-x:auto\"><div>receipt <span class=\"wq-badge\" style=\"display:inline-block;padding:0 7px;border-radius:9px;font-size:11px;font-weight:600;color:#fff;background:#10b981\">verified</span> <span style=\"opacity:.7\">checked here, binding the request and the result as given</span></div><table style=\"border-collapse:collapse;margin-top:6px\"><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">signer</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\"><span title=\"did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd\">did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd</span></td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">key</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">03a107bff3ce10be1d70dd18e74bc09967e4d6309ba50d5f1ddc8664125531b8</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">digest</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">ab97a7c91deb79cc7cc6b1a15dd68e3c51bd650f6cfe20ec6e968720716ffdbd</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">signature</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">5f8d2afa9af0ea8d…b84aae21c634c400</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">form</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">ed25519 over rfc8785 canonical JSON</td></tr></table></div>"
|
||||
],
|
||||
"text/plain": [
|
||||
"Receipt(valid, signed by did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd)"
|
||||
|
|
@ -151,10 +151,10 @@
|
|||
"id": "bell-receipt-6",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.844165Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.844104Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.845718Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.845506Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.788732Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.788674Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.790400Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.790166Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -179,10 +179,10 @@
|
|||
"id": "bell-receipt-7",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.846178Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.846120Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.847778Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.847584Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.791289Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.791232Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.792794Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.792607Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -222,10 +222,10 @@
|
|||
"id": "bell-receipt-10",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.848344Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.848288Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.850125Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.849948Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.793708Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.793651Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.795486Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.795203Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -256,22 +256,22 @@
|
|||
"id": "bell-receipt-11",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.850716Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.850659Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.852824Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.852683Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.796225Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.796165Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.798342Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.798116Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "d17f2eb5773445e9a278d806450ca8a5",
|
||||
"model_id": "3d954404748147aa99dae6efeec69367",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
"text/html": [
|
||||
"<div class=\"wq-receipt\" style=\"font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:13px;line-height:1.45;border:1px solid var(--jp-border-color2,rgba(127,127,127,.35));border-radius:8px;padding:10px 12px;margin:2px 0;max-width:100%;overflow-x:auto\"><div>receipt <span class=\"wq-badge\" style=\"display:inline-block;padding:0 7px;border-radius:9px;font-size:11px;font-weight:600;color:#fff;background:#ef4444\">INVALID</span> <span style=\"opacity:.7\">checked here, binding the request and the result as given</span></div><table style=\"border-collapse:collapse;margin-top:6px\"><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">signer</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\"><span title=\"did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd\">did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd</span></td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">key</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">03a107bff3ce10be1d70dd18e74bc09967e4d6309ba50d5f1ddc8664125531b8</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">digest</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">800d66009e3991cb28a4312ac6fb5b262cab458bd8a025d1b689cb0d5a6edec1</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">signature</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">b61adcc941ba7019…c7543e676ad82b0a</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">form</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">ed25519 over rfc8785 canonical JSON</td></tr></table></div>"
|
||||
"<div class=\"wq-receipt\" style=\"font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:13px;line-height:1.45;border:1px solid var(--jp-border-color2,rgba(127,127,127,.35));border-radius:8px;padding:10px 12px;margin:2px 0;max-width:100%;overflow-x:auto\"><div>receipt <span class=\"wq-badge\" style=\"display:inline-block;padding:0 7px;border-radius:9px;font-size:11px;font-weight:600;color:#fff;background:#ef4444\">INVALID</span> <span style=\"opacity:.7\">checked here, binding the request and the result as given</span></div><table style=\"border-collapse:collapse;margin-top:6px\"><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">signer</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\"><span title=\"did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd\">did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd</span></td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">key</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">03a107bff3ce10be1d70dd18e74bc09967e4d6309ba50d5f1ddc8664125531b8</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">digest</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">ab97a7c91deb79cc7cc6b1a15dd68e3c51bd650f6cfe20ec6e968720716ffdbd</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">signature</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">5f8d2afa9af0ea8d…b84aae21c634c400</td></tr><tr><td style=\"padding:1px 12px 1px 0;opacity:.7\">form</td><td style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all\">ed25519 over rfc8785 canonical JSON</td></tr></table></div>"
|
||||
],
|
||||
"text/plain": [
|
||||
"Receipt(INVALID, signed by did:key:z6MkehRgf7yJbgaGfYsdoAsKdBPE3dj2CYhowQdcjqSJgvVd)"
|
||||
|
|
@ -294,10 +294,10 @@
|
|||
"id": "bell-receipt-12",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:08.853480Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:08.853423Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:08.854691Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:08.854461Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.799069Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.799016Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.800268Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.799997Z"
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
|
|
@ -323,7 +323,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.15"
|
||||
"version": "3.12.16"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
|
|||
|
|
@ -16,10 +16,10 @@
|
|||
"id": "equivalence-1",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.360760Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.360511Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:09.367481Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:09.366910Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.297938Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.297867Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.302893Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.302556Z"
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
|
|
@ -33,10 +33,10 @@
|
|||
"id": "equivalence-2",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.368686Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.368607Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:09.371231Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:09.370905Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.303730Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.303668Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.305849Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.305580Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -84,10 +84,10 @@
|
|||
"id": "equivalence-4",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.371950Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.371889Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:09.376672Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:09.376373Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.306493Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.306401Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.309359Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.309124Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -127,17 +127,17 @@
|
|||
"id": "equivalence-5",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.377620Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.377552Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:09.414487Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:09.413939Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.310172Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.310116Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.350625Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.350206Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "b41310c95795476da6e6961600635aa1",
|
||||
"model_id": "c3da9d748f1945f2aff2b59ea7eb4c62",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
|
|
@ -166,17 +166,17 @@
|
|||
"id": "equivalence-6",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.415600Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.415533Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:09.417916Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:09.417634Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.351678Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.351609Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.354391Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.354116Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "d80c745a6b144fedaf718cfa70f41635",
|
||||
"model_id": "a1878e6caaf94a74ab1da3d3ac5a1080",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
|
|
@ -216,7 +216,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.15"
|
||||
"version": "3.12.16"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
|
|||
|
|
@ -23,17 +23,17 @@
|
|||
"id": "getting-started-1",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.853588Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.853375Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.871318Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.870355Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.199632Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.199506Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.207260Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.206889Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'0.1.0'"
|
||||
"'0.1.1'"
|
||||
]
|
||||
},
|
||||
"execution_count": 1,
|
||||
|
|
@ -52,10 +52,10 @@
|
|||
"id": "getting-started-2",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.873536Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.873343Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.877116Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.876420Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.208119Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.208045Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.210082Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.209763Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -95,10 +95,10 @@
|
|||
"id": "getting-started-4",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.879466Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.879270Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.883948Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.883150Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.211031Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.210971Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.213179Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.212969Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -142,10 +142,10 @@
|
|||
"id": "getting-started-6",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.885820Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.885633Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.889717Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.889212Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.214092Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.214031Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.216290Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.216060Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -171,14 +171,14 @@
|
|||
" 'omitted_shots': 0,\n",
|
||||
" 'outcome_dimension': 1,\n",
|
||||
" 'elapsed_ms': 0,\n",
|
||||
" 'engine': {'name': 'wai-quantum', 'version': '0.7.0'},\n",
|
||||
" 'engine': {'name': 'wai-quantum', 'version': '0.8.0'},\n",
|
||||
" 'schema': 'wai.quantum.job-result/1',\n",
|
||||
" 'energy': {'unmetered': \"the Python package does not meter a run's energy\"},\n",
|
||||
" 'receipt': {'alg': 'ed25519',\n",
|
||||
" 'canon': 'rfc8785',\n",
|
||||
" 'key': '03a107bff3ce10be1d70dd18e74bc09967e4d6309ba50d5f1ddc8664125531b8',\n",
|
||||
" 'digest': '57b40878d70402c45a5d04cb2549ec2d3752317bacb9aea890add5069eb9b13a',\n",
|
||||
" 'signature': '3be4c1a273e3e11c0a0203f06a3660245d397a998a104a1ae3eaffdb5aecfb6d5e336c3af429ab561de0e2ae349204b37e823f38214456ef2500b922acd34b08'}}}"
|
||||
" 'digest': '438d093b41edfae302ee4b499b8134bf1c039e7817eb847987b4c689b8991e60',\n",
|
||||
" 'signature': 'c61f770d572de5dcdb504e7e26584d1297c69ea8289ca5cd1e5396f22b67d3b943e9ef3c7dc5d76a8dde6f3b62e9511c47ab5cc7c25cbddc0886219418897900'}}}"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
|
|
@ -206,10 +206,10 @@
|
|||
"id": "getting-started-8",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.890804Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.890727Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.892852Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.892507Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.217127Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.217066Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.218801Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.218546Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -245,10 +245,10 @@
|
|||
"id": "getting-started-10",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.893855Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.893793Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.895781Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.895369Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.219585Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.219528Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.221051Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.220802Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -277,17 +277,17 @@
|
|||
"id": "getting-started-11",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.896679Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.896620Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.937071Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.936536Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.221683Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.221628Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.259452Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.258888Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "7c992051b33243fa9a5585cc2c0cfcf3",
|
||||
"model_id": "4ad1e0136ee94ab985bf9acd61d829f4",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
|
|
@ -316,10 +316,10 @@
|
|||
"id": "getting-started-12",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.938195Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.938101Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.940581Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.940034Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.260588Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.260521Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.262655Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.262293Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -355,10 +355,10 @@
|
|||
"id": "getting-started-14",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.941942Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.941847Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.943927Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.943548Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.263404Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.263342Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.264893Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.264679Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -393,10 +393,10 @@
|
|||
"id": "getting-started-15",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.944906Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.944835Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.947177Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.946844Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.265659Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.265598Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.267570Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.267291Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -434,17 +434,17 @@
|
|||
"id": "getting-started-17",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-30T18:17:32.948407Z",
|
||||
"iopub.status.busy": "2026-10-30T18:17:32.948327Z",
|
||||
"iopub.status.idle": "2026-10-30T18:17:32.951943Z",
|
||||
"shell.execute_reply": "2026-10-30T18:17:32.951464Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:55.268166Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:55.268105Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:55.270774Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:55.270516Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "0578d81f40d747c585ebeaccf83dfb4a",
|
||||
"model_id": "ac4be8571cc24bf4b2d0d157e78dc1c6",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
|
|
@ -481,7 +481,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.14"
|
||||
"version": "3.12.16"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
|
|||
|
|
@ -16,10 +16,10 @@
|
|||
"id": "noisy-run-1",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.955162Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.955035Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:09.960072Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:09.959738Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.874893Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.874821Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.879847Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.879515Z"
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
|
|
@ -33,10 +33,10 @@
|
|||
"id": "noisy-run-2",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.960954Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.960881Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:09.963501Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:09.963188Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.880640Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.880576Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.883016Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.882758Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -66,10 +66,10 @@
|
|||
"id": "noisy-run-3",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.964252Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.964175Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:09.967495Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:09.967210Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.883831Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.883763Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.887209Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.886916Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -108,17 +108,17 @@
|
|||
"id": "noisy-run-5",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:09.968355Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:09.968293Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:10.003856Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:10.003502Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.887944Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.887815Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.928739Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.928457Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "783d70101e544aae8da9b146ff4fb5ab",
|
||||
"model_id": "006fa7a5f63a4f80b29ccdeda6e4ffcf",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
|
|
@ -155,10 +155,10 @@
|
|||
"id": "noisy-run-7",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:10.004751Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:10.004679Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:10.007086Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:10.006737Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.929803Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.929732Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.932326Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.931883Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
|
|
@ -185,17 +185,17 @@
|
|||
"id": "noisy-run-8",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:10.007827Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:10.007764Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:10.010461Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:10.010135Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:56.933097Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:56.933036Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:56.935560Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:56.935442Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "4a647a39572b47a6838cb95bf90ef10b",
|
||||
"model_id": "eee07e66a1184af49c60281df28406a5",
|
||||
"version_major": 2,
|
||||
"version_minor": 1
|
||||
},
|
||||
|
|
@ -232,7 +232,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.15"
|
||||
"version": "3.12.16"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
|
|||
|
|
@ -18,10 +18,10 @@
|
|||
"id": "service-job-1",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:10.513477Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:10.513403Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:10.521129Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:10.520803Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:57.467938Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:57.467863Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:57.475246Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:57.474914Z"
|
||||
},
|
||||
"tags": [
|
||||
"service"
|
||||
|
|
@ -51,10 +51,10 @@
|
|||
"id": "service-job-2",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:10.522340Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:10.522275Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:10.735996Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:10.735417Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:57.476037Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:57.475960Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:57.689928Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:57.689449Z"
|
||||
},
|
||||
"tags": [
|
||||
"service"
|
||||
|
|
@ -99,10 +99,10 @@
|
|||
"id": "service-job-4",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:10.737274Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:10.737193Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:10.740151Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:10.739783Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:57.690965Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:57.690890Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:57.693971Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:57.693679Z"
|
||||
},
|
||||
"tags": [
|
||||
"service"
|
||||
|
|
@ -137,10 +137,10 @@
|
|||
"id": "service-job-6",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:10.741138Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:10.741051Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:10.743060Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:10.742790Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:57.694794Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:57.694730Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:57.696807Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:57.696548Z"
|
||||
},
|
||||
"tags": [
|
||||
"service"
|
||||
|
|
@ -169,10 +169,10 @@
|
|||
"id": "service-job-7",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2026-10-28T08:01:10.743837Z",
|
||||
"iopub.status.busy": "2026-10-28T08:01:10.743775Z",
|
||||
"iopub.status.idle": "2026-10-28T08:01:10.769694Z",
|
||||
"shell.execute_reply": "2026-10-28T08:01:10.769271Z"
|
||||
"iopub.execute_input": "2026-11-01T13:51:57.697505Z",
|
||||
"iopub.status.busy": "2026-11-01T13:51:57.697426Z",
|
||||
"iopub.status.idle": "2026-11-01T13:51:57.725830Z",
|
||||
"shell.execute_reply": "2026-11-01T13:51:57.725338Z"
|
||||
},
|
||||
"tags": [
|
||||
"service"
|
||||
|
|
@ -211,7 +211,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.15"
|
||||
"version": "3.12.16"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
|
|||
4
wai/wai-quantum-qpu/Cargo.lock
generated
4
wai/wai-quantum-qpu/Cargo.lock
generated
|
|
@ -423,7 +423,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
@ -433,7 +433,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-qpu"
|
||||
version = "0.3.0"
|
||||
version = "0.4.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"serde_json",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "wai-quantum-qpu"
|
||||
version = "0.3.0"
|
||||
version = "0.4.0"
|
||||
edition = "2024"
|
||||
rust-version = "1.97"
|
||||
license = "Apache-2.0"
|
||||
|
|
@ -12,6 +12,6 @@ categories = ["science", "api-bindings"]
|
|||
[dependencies]
|
||||
# quantum_engine and quantum_receipt: a provider job is read, compared with the
|
||||
# circuit's exact distribution and sealed by the engine (engine::provider).
|
||||
wai-quantum = { version = "0.7.0", path = "../wai-quantum", default-features = false, features = ["quantum_fabric", "quantum_engine", "quantum_receipt"] }
|
||||
wai-quantum = { version = "0.8.0", path = "../wai-quantum", default-features = false, features = ["quantum_fabric", "quantum_engine", "quantum_receipt"] }
|
||||
serde_json = "1"
|
||||
blake3 = "1"
|
||||
|
|
|
|||
2
wai/wai-quantum-serve/Cargo.lock
generated
2
wai/wai-quantum-serve/Cargo.lock
generated
|
|
@ -599,7 +599,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
4
wai/wai-quantum-service/Cargo.lock
generated
4
wai/wai-quantum-service/Cargo.lock
generated
|
|
@ -857,7 +857,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
@ -870,7 +870,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-service"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"blake3",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "wai-quantum-service"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
edition = "2024"
|
||||
rust-version = "1.97"
|
||||
license = "Apache-2.0"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"name": "science.transaction.wai/quantum-jobs",
|
||||
"title": "WAI Quantum job service",
|
||||
"description": "A free quantum job service: OpenQASM 3 run, checked and signed, with no account or key.",
|
||||
"version": "0.2.0",
|
||||
"version": "0.2.1",
|
||||
"websiteUrl": "https://wai.transaction.science/quantum-run/",
|
||||
"remotes": [
|
||||
{
|
||||
|
|
|
|||
2
wai/wai-quantum-views/Cargo.lock
generated
2
wai/wai-quantum-views/Cargo.lock
generated
|
|
@ -416,7 +416,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
2
wai/wai-quantum/Cargo.lock
generated
2
wai/wai-quantum/Cargo.lock
generated
|
|
@ -1079,7 +1079,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"block2",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
edition = "2024"
|
||||
rust-version = "1.97"
|
||||
license = "Apache-2.0"
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ library.
|
|||
|
||||
```toml
|
||||
[dependencies]
|
||||
wai-quantum = "0.7"
|
||||
wai-quantum = "0.8"
|
||||
```
|
||||
|
||||
```rust runnable
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
```toml
|
||||
[dependencies]
|
||||
wai-quantum = "0.7"
|
||||
wai-quantum = "0.8"
|
||||
```
|
||||
|
||||
```rust runnable
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ replacement, are listed in [DEPRECATIONS.md](DEPRECATIONS.md).
|
|||
|
||||
| Package | Where | Version today |
|
||||
|---|---|---|
|
||||
| `wai-quantum`, the engine (Rust crate) | `wai/wai-quantum`, published on crates.io | 0.7.x |
|
||||
| `wai-quantum`, the engine (Rust crate) | `wai/wai-quantum`, published on crates.io | 0.8.x |
|
||||
| `wai-quantum-cli`, the command line `wai-quantum` and its MCP server (Rust crate) | `wai/wai-quantum-cli`, published on crates.io | 0.2.x |
|
||||
| `wai-quantum-qpu`, quantum processors and the person's own providers (Rust crate) | `wai/wai-quantum-qpu`, published on crates.io | 0.3.x |
|
||||
| `wai-quantum-qpu`, quantum processors and the person's own providers (Rust crate) | `wai/wai-quantum-qpu`, published on crates.io | 0.4.x |
|
||||
| The job service, its HTTP API and its MCP server | `wai/wai-quantum-service`, at `https://wai.transaction.science/quantum-jobs` | 0.2.x |
|
||||
| `wai-quantum`, the Python package | `wai/wai-quantum-py` | 0.1.x |
|
||||
| The editor extension | `wai/tools/wai-quantum-editor` | 0.1.x |
|
||||
|
|
@ -109,7 +109,7 @@ Every result names the engine that made it and the schema it follows (a
|
|||
compile's result names `wai.quantum.compile-result/1`):
|
||||
|
||||
```json fragment
|
||||
"engine": { "name": "wai-quantum", "version": "0.7.0" },
|
||||
"engine": { "name": "wai-quantum", "version": "0.8.0" },
|
||||
"schema": "wai.quantum.job-result/1"
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
"wai/quantum-studio/src/views/main.js": "4129c45e35f65caaedb9e2fd4e0e2e1a29ba6ff27b33c5190924c8cc13b2a5cd",
|
||||
"wai/quantum-studio/src/views/render.js": "b3f8bd6717bd18b6275ea8fc94cd2be31f81ef0a8d7c46a882e03085a67eaea4",
|
||||
"wai/quantum-studio/src/views/views.css": "6ba324a58e6c320094e7534694c3c6d53d15605326be785d72989432b7b2a1fe",
|
||||
"wai/wai-quantum-views/Cargo.lock": "8c1633a018b90fd8399a80f6822c51bb646d08e6cda4044bfa63ca9a546e3e66",
|
||||
"wai/wai-quantum-views/Cargo.lock": "83edc2c2e30b8b07fcadfb09c7f65c7b7ae193097ed2584e5b06275e7ed9cccf",
|
||||
"wai/wai-quantum-views/Cargo.toml": "2de456eaf4a115a7a721f26a27974f5b621295b77e30039d03044922d891bbb2",
|
||||
"wai/wai-quantum-views/build.sh": "c7cb7c91ba0a3ee39e1e4427c4b8d5be21d289eab3b036b7466347c774b67871",
|
||||
"wai/wai-quantum-views/src/lib.rs": "a9a20da6399ff58efde84eb5116f8e064ca9110f33b6b99546899ae5971636e0"
|
||||
|
|
|
|||
2
wai/wai-rs/Cargo.lock
generated
2
wai/wai-rs/Cargo.lock
generated
|
|
@ -4587,7 +4587,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ getrandom = { version = "0.3", optional = true }
|
|||
# ---- quantum (optional, behind the `quantum*` features) ----
|
||||
# The quantum stack now lives in its own dependency-light crate so it can be used
|
||||
# without the media/codec chain. `wai` re-exports it unchanged.
|
||||
wai-quantum = { version = "0.7.0", path = "../wai-quantum", optional = true, default-features = false }
|
||||
wai-quantum = { version = "0.8.0", path = "../wai-quantum", optional = true, default-features = false }
|
||||
# Create's library (WAI's widgets for joule-ui): `wai create --from app.oui`, `wai app` and
|
||||
# `wai mcp --toolset app`, in a build with the feature `app`.
|
||||
wai-app = { path = "../wai-app", optional = true }
|
||||
|
|
|
|||
2
wai/wai-web/Cargo.lock
generated
2
wai/wai-web/Cargo.lock
generated
|
|
@ -1241,7 +1241,7 @@ version = "0.1.0"
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"ed25519-dalek",
|
||||
|
|
|
|||
|
|
@ -770,8 +770,9 @@ mod tests {
|
|||
/// BLAKE3 of [`engine_course_check`]'s answer for [`COURSE_CHECK`] on the
|
||||
/// lesson's starter, at 512 MiB, as the native build and the wasm32 one write it.
|
||||
/// A check names the engine that made it (`engine::schema::stamp_as`), so this
|
||||
/// moves with every release of wai-quantum (374b400e… before checks named it).
|
||||
pub(super) const COURSE_DIGEST: &str = "969b2c1c19d0fd9c820aa04aae4f0675b165ce7e09e9f51004a92d0ffb910f21";
|
||||
/// moves with every release of wai-quantum (374b400e… before checks named it,
|
||||
/// 969b2c1c… at 0.7.0, 1a9aa0ad… at 0.8.0).
|
||||
pub(super) const COURSE_DIGEST: &str = "1a9aa0adbdf40ce1a812ee40408caec29259a25bea853c49f853a798b05baa6a";
|
||||
|
||||
pub(super) fn starter(id: &str) -> String {
|
||||
let l: Value = serde_json::from_str(&engine_course_lesson(id, "en")).unwrap();
|
||||
|
|
@ -859,7 +860,7 @@ mod tests {
|
|||
/// names the engine and its schema (`engine::schema::stamp_as`), and its
|
||||
/// certificate names its gate set `basis` (04a03934… when it was `target`).
|
||||
/// The engine's version is among the sealed bytes, so this moves with every
|
||||
/// release of wai-quantum (0a165415… at 0.6.16, ac948133… at 0.7.0).
|
||||
/// release of wai-quantum (0a165415… at 0.6.16, ac948133… at 0.7.0, beffb3cb… at 0.8.0).
|
||||
/// The compile sealed before either, whose bytes hashed to 14db506e…, is
|
||||
/// kept in wai-quantum's `src/engine/testdata/compile-legacy.json` and still
|
||||
/// verifies.
|
||||
|
|
@ -868,7 +869,7 @@ mod tests {
|
|||
pub(super) const PULSE_XM: &str = "OPENQASM 3.0;\ndefcalgrammar \"openpulse\";\ncal {\n extern port d0;\n extern port m0;\n extern port a0;\n frame q0 = newframe(d0, 5.0e9, 0);\n frame r0 = newframe(m0, 7.1e9, 0);\n frame c0 = newframe(a0, 7.1e9, 0);\n}\ndefcal x $0 { play(q0, gaussian(0.4, 64dt, 16dt)); }\ndefcal measure $0 -> bit { play(r0, constant(0.1, 200dt)); return capture_v2(c0, 200dt); }\nbit[1] c;\nx $0;\nc[0] = measure $0;\n";
|
||||
pub(super) const PULSE_XM_DENSITY: &str = "03c0c48a8a3568fdd86e792633c5b4ea98eca3d09dc40d028bb50e13c489828b";
|
||||
|
||||
pub(super) const COMPILE_DIGEST: &str = "ac94813324e9bf7ab83b4bf0290e5abf25bef987826311f0632c2701ebbd045a";
|
||||
pub(super) const COMPILE_DIGEST: &str = "beffb3cbdee44a02268bdd04f4de7941d87f9034e072c727c92f7d571d6b03c9";
|
||||
|
||||
/// A compile in the page: Clifford+T within the budget, every pass
|
||||
/// recorded, the certificate sealed with the page's key and checked
|
||||
|
|
@ -897,8 +898,8 @@ mod tests {
|
|||
/// names the engine and its schema (`engine::schema::stamp_as`), which
|
||||
/// moved it from aaa42bc8…, the estimate sealed before. The engine's
|
||||
/// version is among the sealed bytes, so this moves with every release of
|
||||
/// wai-quantum (0cd25cf6… at 0.6.16, 8715e76b… at 0.7.0).
|
||||
pub(super) const ESTIMATE_DIGEST: &str = "8715e76b04746611834d4bbcee1d3196f5ce457d450aa88d46e084b1ff813da1";
|
||||
/// wai-quantum (0cd25cf6… at 0.6.16, 8715e76b… at 0.7.0, db90b147… at 0.8.0).
|
||||
pub(super) const ESTIMATE_DIGEST: &str = "db90b14718b301f025e1b2979c19b9c1bcd824e259c7fde9a76775244e4cd76a";
|
||||
|
||||
/// An estimate in the page: the counts (a ladder through an ancilla), the
|
||||
/// frontier, every receipt sealed with the page's key, the seal checked
|
||||
|
|
|
|||
Loading…
Reference in a new issue