WestQuant Memory Discovery Lab
Evidence-aware quantum-memory modelling and network integration.
WestQuant connects versioned experimental source data to typed observations, condition-matched coherence references, explicit quantum channels (Kraus operators with erasure), and native network-simulator adapters (SeQUeNCe and QuNetSim). Its contribution is an executable evidence contract across these interfaces, with retained failure outcomes and reproducible study identities.
Software verification is not hardware validation. The framework preserves distinctions between experimental observations, curated observations, evaluated references, computed results, hypothetical controls, and unknown evidence. It does not claim universal simulator validation, new material discovery, or improved hardware performance.
Installation
pip install westquant-memory-lab
For the full quantum-memory workflow with all backends:
pip install "westquant-memory-lab[all]"
Optional extras (install only what you need):
| Extra | Packages | Use case |
|---|---|---|
quantum |
QuTiP 5.3.1 | Open-system evolution, channel verification |
chemistry |
PySCF 2.14.0, ASE 3.29.0 | Electronic structure calculations |
spin |
PyCCE 1.1.1, pandas | Spin-bath dynamics, cluster expansion |
propagation |
MaxwellBloch 0.12.0 | Optical propagation |
datasets |
openpyxl, pynmrstar | Dataset importers |
network |
SeQUeNCe 1.2.0, pandas | Native network simulation |
all |
All of the above | Complete workflow |
Requirements: Python 3.10+. The full workflow with SeQUeNCe requires Python 3.12+.
Quick start
# Check your environment
wqml doctor
# Run the bundled Teller et al. baseline (open data)
wqml reproduce examples/teller2025_baseline.json --out baselines/teller2025
# Or run a full pipeline
wqml pipeline examples/pipeline_full.json --out runs/my_lab
Key features
Evidence-aware data contracts
Every observation retains its evidence kind: experimental, curated_experimental, fit_to_experiment, evaluated_reference, computed, hypothetical, or unknown. The framework never promotes a computed result to an experimental measurement, and never converts a bare formula or isotope mass into a coherence time.
Condition-matched reference queries
Coherence references require material identity, coherence definition, and condition matching (temperature, protocol, isotope, host). No interpolation or extrapolation across missing conditions.
Explicit quantum channels
The write-store-read channel is constructed as a CPTP map with erasure:
E_t(rho) = eta(t) * Phi_t(rho) + (1 - eta(t)) * Tr(rho) |e><e|
Kraus operators, Choi matrices, and numerical validity (complete positivity, trace preservation) are checked at each step.
Native network-simulator adapters
- SeQUeNCe: Event-driven simulation with native density-matrix manager
- QuNetSim: Layered quantum-network framework with QuTiP density backend
The adapters apply sampled absolute-age channels once to the original input and reject missing age samples — no interpolation or extrapolation.
Reproducible execution
- SQLite catalog with immutable record identities
- Content hashes for source artifacts
- Configuration and source fingerprints for every run
- Checkpoint and resume logic
- 109 passing tests with no optional skips (v0.7.0)
Architecture
memorylab/
catalog.py # SQLite catalog with typed observations
channels.py # Kraus operators, Choi matrices, erasure channels
models.py # Markov dynamics, finite baths, model dispatch
spin.py # Nuclear spin-bath evolution, CPMG, CCE
network.py # Network device export and retrieval
sequence_adapter.py # SeQUeNCe native adapter
runner.py # Bounded worker processes, checkpoints
calibration.py # Observation binding and condition matching
t2assessment.py # T2 inference gates and diagnostics
t2curves.py # Curve fitting and model mismatch detection
experimental.py # Experimental data reanalysis
datasets.py # Source synchronization and verification
pipeline.py # Full pipeline orchestration
cli.py # Command-line interface (wqml)
screening/ # Candidate screening and nuclear data
Command reference
wqml doctor # Check environment and capabilities
wqml datasets <plan.json> # Synchronize data sources
wqml catalog <catalog.sqlite> # Inspect the SQLite catalog
wqml generate <plan.json> # Generate candidate combinations
wqml run <study.json> --out <dir> # Run a parameter study
wqml simulate <profile.json> --times <list> # Simulate channel samples
wqml export <samples.json> --out <device.json> # Export network device
wqml network <device.json> <device.json> <workload.json> # Run network workload
wqml reproduce <baseline.json> --out <dir> # Reproduce a bundled baseline
wqml pipeline <plan.json> --out <dir> # Run the full pipeline
Python API
import numpy as np
from memorylab.network import load_device
# Load an exported memory device
device = load_device("runs/device.json", allow_hypothetical=True)
# Retrieve at a specific storage age
input_state = np.array([[0.5, 0.5], [0.5, 0.5]], dtype=complex)
result = device.retrieve(input_state, age_s=0.01, rng=np.random.default_rng(17))
if result["success"]:
retrieved_state = result["density_matrix"]
Evidence model
The framework distinguishes seven evidence kinds and enforces their boundaries:
| Evidence kind | Description | Example |
|---|---|---|
experimental |
Directly measured | Teller et al. state fidelities |
curated_experimental |
Processed from raw experimental data | Inverse-variance calibrated means |
fit_to_experiment |
Model fitted to experimental data | Pr decay curve fits |
evaluated_reference |
Reviewed reference value | Ortu et al. 230 ms Eu/YSO |
computed |
Numerical result | QuTiP channel evolution |
hypothetical |
Synthetic control | Markov profile with declared rates |
unknown |
Unresolved evidence | Molecular entry without reviewed curve |
Validated scope
The v0.7.0 release validates:
- 336 state probes across 56 channel-age points (numerical agreement below 10^-15)
- 128 paired SeQUeNCe/QuNetSim comparisons (below 10^-10 tolerance)
- 109 passing tests with no optional skips
- 359 JSON records and 11 exact random-trace arrays checked in replay
- Open rare-earth (Pr³⁺:Y₂SiO₅) and diamond-spin (¹³C/NV) dataset reanalysis
Limitations
- Matched experimental protocol tomography, material-specific bath validation, and native physical-latency comparison remain explicit requirements for broader predictions
- NetSquid and QuISP adapters are not evaluated in this release
- The framework does not claim universal simulator validation
- No new material or improved hardware performance is claimed
Documentation
- Model Contract — Physical model definitions and inference boundaries
- Data Sources — Source data provenance and licensing
- Extending — How to add new model families and adapters
Citation
If you use WestQuant in your research, please cite:
@software{vesterlund2026westquant,
author = {Vesterlund, David},
title = {{WestQuant Memory Discovery Lab}},
version = {0.7.0},
year = {2026},
url = {https://github.com/VesterlundCoder/memory-discover-lab}
}
License
MIT License. Copyright (c) 2026 David Vesterlund.
Acknowledgements
WestQuant builds on PySCF, PyCCE, QuTiP, MaxwellBloch, SeQUeNCe, and QuNetSim. The author thanks the cited experimental-data and open-source software contributors for making their work available.
Metadata
Release files for westquant-memory-lab 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| westquant_memory_lab-0.7.0.tar.gz | 124.0 kB | Without provenance | Details for westquant_memory_lab-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| westquant_memory_lab-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for westquant_memory_lab-0.7.0-py3-none-any.whl |
Total release size: 226.8 kB
Release files / westquant_memory_lab-0.7.0.tar.gz
| Download URL | westquant_memory_lab-0.7.0.tar.gz |
|---|---|
| Size | 124.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ec445e3d7e3e7ef39b9b262710eaa8730af7feb94260c0fe401123fc607aeb9
|
|
BLAKE2b-256 checksum How to use checksums |
f7de2595405e3d220db32aa2d7020464b46d7d6ec2ab0ef8169fb6937e75a7c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / westquant_memory_lab-0.7.0-py3-none-any.whl
| Download URL | westquant_memory_lab-0.7.0-py3-none-any.whl |
|---|---|
| Size | 102.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb3f699c4803ff641c05d2cfbddb4177d76cf2c4a0ef5121c99afb37e0cef16e
|
|
BLAKE2b-256 checksum How to use checksums |
a3c95f189ef43dda9c479baf1f9069b0836bd3a3cde94631001f2104acb02564
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for westquant-memory-lab 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.