Skip to content

Commit 9d69c94

Browse files
committed
docs: fix install commands and website links
1 parent 7f74b1a commit 9d69c94

1 file changed

Lines changed: 56 additions & 12 deletions

File tree

README.md

Lines changed: 56 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,65 @@
1212

1313
PyMatching-compatible MWPM validation · Belief-matching accuracy mode · BP-OSD for LDPC/qLDPC · CPU/GPU batch decoding · Artifact-backed benchmark evidence
1414

15-
[Website](https://www.qector.store) · [PyPI](https://pypi.org/project/qector-decoder-v3/) · [Commercial licensing](mailto:admin@qector.store)
15+
[Website](https://www.qector.store) · [PyPI](https://pypi.org/project/qector-decoder-v3/) · [Repository](https://github.com/GuillaumeLessard/qector-decoder) · [Commercial licensing](https://www.qector.store)
1616

1717
</div>
1818

1919
---
2020

2121
## Install
2222

23-
### Stable package
23+
### Recommended PyPI command
2424

2525
```bash
2626
pip install qector-decoder-v3
2727
```
2828

29-
Supported public wheel target: **Python 3.9 to 3.13** on Linux, Windows, and macOS where wheels are published for the release.
29+
This is the command shown on PyPI and the safest command for normal users because it uses the `pip` bound to the active Python environment.
30+
31+
Verify the install with the same Python environment:
32+
33+
```bash
34+
python -c "from qector_decoder_v3 import UnionFindDecoder, BlossomDecoder; print('QECTOR OK')"
35+
```
36+
37+
Check which Python and pip are being used:
38+
39+
```bash
40+
python --version
41+
pip --version
42+
```
43+
44+
### Windows note
45+
46+
Do not force `py -m pip` unless you have checked which interpreter the Windows launcher selected. On some systems, `py` can select a free-threaded interpreter such as `python3.13t.exe`. QECTOR v0.5.x publishes standard CPython wheels, not `cp313t` free-threaded wheels. If pip cannot find a matching wheel, it may fall back to a source build and fail because the public repository does not ship the proprietary Rust core.
47+
48+
Inspect installed Python launchers with:
49+
50+
```powershell
51+
py -0p
52+
```
53+
54+
Use the working PyPI command from the active standard Python environment:
55+
56+
```powershell
57+
pip install qector-decoder-v3
58+
python -c "from qector_decoder_v3 import UnionFindDecoder, BlossomDecoder; print('QECTOR OK')"
59+
```
60+
61+
### Supported public wheel targets
62+
63+
QECTOR v0.5.x public releases target standard CPython wheels for:
64+
65+
| Platform | Wheel status |
66+
|---|---|
67+
| Linux x86_64 | Published |
68+
| Windows x64 | Published |
69+
| macOS arm64 / Apple Silicon | Published |
70+
| macOS Intel x86_64 | Not published in v0.5.x public CI |
71+
| CPython free-threaded builds such as `cp313t` | Not published in v0.5.x |
72+
73+
Supported Python version classifiers are standard CPython **3.9 to 3.13**.
3074

3175
### Optional Python extras
3276

@@ -54,18 +98,18 @@ print("OpenCL:", OpenCLBatchDecoder.is_available())
5498

5599
### Licensed source build
56100

57-
The public repository contains the Python layer and a Rust source stub. The proprietary Rust core is injected during trusted CI/release builds or provided under commercial license.
101+
The public repository contains the Python layer and a Rust source stub. The proprietary Rust core is injected during trusted CI/release builds or provided under commercial license. A full native source build requires the licensed Rust source bundle.
58102

59103
```bash
60104
git clone https://github.com/GuillaumeLessard/qector-decoder.git
61105
cd qector-decoder
62106
python -m venv .venv
63107
source .venv/bin/activate # Windows PowerShell: .\.venv\Scripts\Activate.ps1
64-
python -m pip install --upgrade pip maturin
65-
python -m pip install -e "[stim,bench]"
108+
pip install --upgrade pip maturin
109+
pip install -e ".[stim,bench]"
66110
```
67111

68-
For a full native Rust extension build, use the licensed Rust source bundle and the commands in [`INSTALL.md`](INSTALL.md).
112+
For a full native Rust extension build, unpack the licensed Rust source bundle first, then follow [`INSTALL.md`](INSTALL.md).
69113

70114
---
71115

@@ -283,7 +327,7 @@ qector_decoder_v3/
283327
└── codes.py
284328
```
285329

286-
The Rust core is compiled into release wheels. The `src/` directory in this public repository is a placeholder/stub; commercial builds use the licensed source bundle or trusted CI injection.
330+
The Rust core is compiled into release wheels. The public `src/` directory is a placeholder/stub and is not enough for a standalone native source build. Commercial builds use the licensed source bundle or trusted CI injection.
287331

288332
---
289333

@@ -364,7 +408,7 @@ The REST API is for local experiments, partner review, or controlled internal de
364408
| Workflow | Purpose | Notes |
365409
|---|---|---|
366410
| `tests.yml` | Ruff, format check, advisory MyPy, Docker smoke, import smoke | Rust source stub means Docker/native build checks can be informational in this workflow. |
367-
| `CI.yml` | Linux, Windows, macOS wheels and sdist, PyPI publish on `v*` tags | Rust core is injected from GitHub Actions secrets for trusted release builds. |
411+
| `CI.yml` | Linux x86_64, Windows x64, macOS arm64 wheels, PyPI publish on `v*` tags | Rust core is injected from GitHub Actions secrets for trusted release builds. Public sdist upload is intentionally avoided for wheel-only releases. |
368412

369413
PyPI release uses OIDC Trusted Publisher and does not require a stored PyPI API token.
370414

@@ -387,9 +431,9 @@ QECTOR Decoder v3 is source-available.
387431
| SaaS, hosted API, OEM embedding, product integration, redistribution | Paid commercial license |
388432
| Commercial benchmarking, paid consulting, revenue-linked work | Paid commercial license |
389433

390-
Commercial contact: [admin@qector.store](mailto:admin@qector.store)
434+
Website and commercial licensing: [https://www.qector.store](https://www.qector.store)
391435

392-
Website: [https://www.qector.store](https://www.qector.store)
436+
Commercial contact: admin@qector.store
393437

394438
See [`COMMERCIAL.md`](COMMERCIAL.md) and [`LICENSE`](LICENSE) for full terms.
395439

@@ -414,6 +458,6 @@ See [`COMMERCIAL.md`](COMMERCIAL.md) and [`LICENSE`](LICENSE) for full terms.
414458

415459
**Copyright © 2026 Guillaume Lessard / iD01t Productions. All rights reserved.**
416460

417-
[https://www.qector.store](https://www.qector.store) · [admin@qector.store](mailto:admin@qector.store)
461+
[https://www.qector.store](https://www.qector.store) · admin@qector.store
418462

419463
</div>

0 commit comments

Comments
 (0)