qcoder 0.5.0a1__tar.gz → 0.5.0a2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/CHANGELOG.md +22 -0
  2. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/PKG-INFO +22 -4
  3. qcoder-0.5.0a2/README.md +76 -0
  4. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/pyproject.toml +1 -1
  5. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/__init__.py +1 -1
  6. qcoder-0.5.0a2/src/qcoder/cli.py +621 -0
  7. qcoder-0.5.0a2/src/qcoder/pro_preview/__init__.py +32 -0
  8. qcoder-0.5.0a2/src/qcoder/pro_preview/client.py +122 -0
  9. qcoder-0.5.0a2/src/qcoder/pro_preview/config.py +97 -0
  10. qcoder-0.5.0a2/src/qcoder/pro_preview/errors.py +6 -0
  11. qcoder-0.5.0a2/src/qcoder/pro_preview/manifest.py +157 -0
  12. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder.egg-info/PKG-INFO +22 -4
  13. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder.egg-info/SOURCES.txt +5 -0
  14. qcoder-0.5.0a1/README.md +0 -58
  15. qcoder-0.5.0a1/src/qcoder/cli.py +0 -343
  16. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/LICENSE +0 -0
  17. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/MANIFEST.in +0 -0
  18. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/NOTICE +0 -0
  19. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/setup.cfg +0 -0
  20. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/__main__.py +0 -0
  21. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/core/__init__.py +0 -0
  22. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/core/context.py +0 -0
  23. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/core/qasm2/__init__.py +0 -0
  24. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/core/qasm2/adjoint_eligibility.py +0 -0
  25. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/core/qasm2/mirror_build.py +0 -0
  26. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/core/run_config.py +0 -0
  27. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/core/schema.py +0 -0
  28. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/context/__init__.py +0 -0
  29. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/context/bundle.py +0 -0
  30. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/context/markdown.py +0 -0
  31. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/adapters/__init__.py +0 -0
  32. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/adapters/cirq_intake.py +0 -0
  33. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/adapters/pennylane_intake.py +0 -0
  34. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/adapters/qiskit_intake.py +0 -0
  35. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/extractor.py +0 -0
  36. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/features/compute_v0.py +0 -0
  37. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/features/glossary_v0.py +0 -0
  38. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/features/schema_v0.py +0 -0
  39. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/ir.py +0 -0
  40. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/labeling.py +0 -0
  41. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/parsers/__init__.py +0 -0
  42. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/qasm2_regex_parser.py +0 -0
  43. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/reps/cut_profile.py +0 -0
  44. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/reps/depth.py +0 -0
  45. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/reps/entangling_layers.py +0 -0
  46. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/reps/gate_set_stats.py +0 -0
  47. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/reps/interaction_graph.py +0 -0
  48. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/reps/interaction_graph_metrics.py +0 -0
  49. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/feature_extraction/reps/spans.py +0 -0
  50. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/guidance/__init__.py +0 -0
  51. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/guidance/model_pack.py +0 -0
  52. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/guidance/resource.py +0 -0
  53. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/guidance/structural_scores.py +0 -0
  54. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/profiles/__init__.py +0 -0
  55. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/profiles/feature_profiles_v0.py +0 -0
  56. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/review/__init__.py +0 -0
  57. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/review/bundle.py +0 -0
  58. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/review/counts_v0.py +0 -0
  59. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/review/markdown.py +0 -0
  60. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/engines/review/qiskit_counts.py +0 -0
  61. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/model_packs/__init__.py +0 -0
  62. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/model_packs/resource_guidance_local_v0.json +0 -0
  63. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/pipelines/analyze.py +0 -0
  64. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/pipelines/batch.py +0 -0
  65. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/pipelines/context.py +0 -0
  66. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/pipelines/review.py +0 -0
  67. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder/tools/batch.py +0 -0
  68. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder.egg-info/dependency_links.txt +0 -0
  69. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder.egg-info/entry_points.txt +0 -0
  70. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder.egg-info/requires.txt +0 -0
  71. {qcoder-0.5.0a1 → qcoder-0.5.0a2}/src/qcoder.egg-info/top_level.txt +0 -0
@@ -4,6 +4,28 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on common practice for pre-1.0 semantic versioning: **`MAJOR.MINOR.PATCH`** with **`aN`** for alpha prereleases.
6
6
 
7
+ ## Unreleased
8
+
9
+ ## 0.5.0a2 (alpha — public Free + Pro Preview client contract)
10
+
11
+ Second public alpha for the **Option 3 product line**: unchanged Free local/offline CLI plus an expanded **Pro Preview bootstrap/client contract** (not a generally available hosted Pro product).
12
+
13
+ ### Added
14
+
15
+ - Public-safe **Pro Preview bootstrap** commands: `qcoder pro signup`, `login`, `install`, `status`, `validate` with local token/config support only.
16
+ - **`qcoder pro workflow --dry-run-manifest`** — writes `qcoder.pro_preview.workflow_manifest.v0` locally (QASM hashes/bytes plus local Free analysis); no network.
17
+ - **Explicit configured manifest-only service submit** — `qcoder pro workflow --submit --service-url <url>` with optional `--manifest-out`; requires token and a non-default configured service URL; sanitizes manifest before POST.
18
+ - Stronger **public package safety** checks, Pro Preview unit tests, and release rehearsal coverage in CI.
19
+
20
+ ### Scope / boundaries
21
+
22
+ - **No** generally available production hosted Pro service, public account/token issuance from qcoder.ai, or sellable hosted Pro product behavior.
23
+ - **No** artifact upload, source upload, or background upload in this submit slice.
24
+ - **No** local confidential Pro analysis, cards, or `qcoder.pro_v0` in the wheel.
25
+ - **No** telemetry upload or training delivery.
26
+ - **No** QPU, simulator, or provider execution in CLI flows.
27
+ - Free commands (`analyze`, `batch`, `context`, `review`) remain local/offline and useful without Pro.
28
+
7
29
  ## 0.5.0a1 (alpha — public Free + Pro Preview shell)
8
30
 
9
31
  First public package version for the **Option 3 product line**: local/offline Free CLI plus a service-backed Pro Preview shell. Version **`0.5.0a1`** is distinct from the internal frozen local private-alpha RC **`0.4.0a4`** (not shipped here).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qcoder
3
- Version: 0.5.0a1
3
+ Version: 0.5.0a2
4
4
  Summary: Quantum circuit analysis and structured feature extraction tools.
5
5
  Author-email: Quantum Ready Solutions <support@qcoder.ai>
6
6
  Maintainer-email: Quantum Ready Solutions <support@qcoder.ai>
@@ -40,7 +40,18 @@ Free `qcoder` commands run offline and do not call hosted services, upload telem
40
40
  - `qcoder batch`
41
41
  - `qcoder context`
42
42
  - `qcoder review`
43
- - `qcoder pro` (service-backed Preview shell/stub)
43
+ - `qcoder pro` (Pro bootstrap and client contract; non-confidential local plumbing only)
44
+
45
+ ## Pro Preview boundaries
46
+
47
+ Public `qcoder` ships **Free local commands** plus a **Pro bootstrap/client contract**. It is **not** the sellable hosted Pro product.
48
+
49
+ - **Free commands** (`analyze`, `batch`, `context`, `review`) run offline. They do not upload data, call a qCoder hosted service, or run QPU/simulator jobs.
50
+ - **`qcoder pro` bootstrap** (`signup`, `login`, `install`, `status`, `validate`) stores local token/config only. It does not upload circuits, run confidential analysis, or generate Pro cards locally.
51
+ - **`qcoder pro workflow --dry-run-manifest`** writes a local JSON contract (`qcoder.pro_preview.workflow_manifest.v0`) and performs **no network calls**. This is the default path for most users.
52
+ - **`qcoder pro workflow --submit`** posts a **sanitized manifest only** to an **explicitly configured** `--service-url` (or `QCODER_PRO_API_URL`). Use it only when QRS has given you a service URL and token. The default `https://qcoder.ai/preview` URL is **not** accepted for submit.
53
+ - There is **no generally available production hosted Pro service**, account/token issuance, or artifact upload in this public-main surface. Production hosted service, Cloud Run/GCS, and confidential analysis are separate/future.
54
+ - **No confidential Pro analysis or cards** are bundled in this package. Token-gating is **access control only**, not a secrecy boundary.
44
55
 
45
56
  ## Quick start
46
57
 
@@ -63,15 +74,22 @@ qcoder context path/to/circuit.qasm --out-json preflight.context.json --out-md p
63
74
  qcoder review --counts-json counts.json --format qiskit_counts --preflight-json preflight.context.json --out-json execution.review.json --out-md execution.review.md
64
75
  ```
65
76
 
66
- Pro Preview shell:
77
+ Pro Preview bootstrap (local contract rehearsal):
67
78
 
68
79
  ```bash
69
80
  qcoder pro --help
70
81
  qcoder pro signup
82
+ qcoder pro install --token <token-if-provided>
71
83
  qcoder pro status
84
+ qcoder pro validate
85
+ qcoder pro workflow --qasm path/to/circuit.qasm --dry-run-manifest pro.workflow.manifest.json
72
86
  ```
73
87
 
74
- `qcoder pro workflow` is a service-backed stub in this slice; confidential Pro analysis is not bundled in this package.
88
+ Use **`--dry-run-manifest`** unless QRS has given you a non-default service URL and token for contract rehearsal. Manifest-only submit (no artifact upload) is opt-in:
89
+
90
+ ```bash
91
+ qcoder pro workflow --qasm path/to/circuit.qasm --submit --service-url <url-qrs-provided>
92
+ ```
75
93
 
76
94
  Architecture notes: [`docs/architecture.md`](docs/architecture.md).
77
95
 
@@ -0,0 +1,76 @@
1
+ # qCoder
2
+
3
+ `qcoder` is a local, deterministic quantum circuit evidence CLI.
4
+
5
+ Free `qcoder` commands run offline and do not call hosted services, upload telemetry, or run QPU/simulator jobs.
6
+
7
+ ## Public CLI surface
8
+
9
+ - `qcoder analyze`
10
+ - `qcoder batch`
11
+ - `qcoder context`
12
+ - `qcoder review`
13
+ - `qcoder pro` (Pro bootstrap and client contract; non-confidential local plumbing only)
14
+
15
+ ## Pro Preview boundaries
16
+
17
+ Public `qcoder` ships **Free local commands** plus a **Pro bootstrap/client contract**. It is **not** the sellable hosted Pro product.
18
+
19
+ - **Free commands** (`analyze`, `batch`, `context`, `review`) run offline. They do not upload data, call a qCoder hosted service, or run QPU/simulator jobs.
20
+ - **`qcoder pro` bootstrap** (`signup`, `login`, `install`, `status`, `validate`) stores local token/config only. It does not upload circuits, run confidential analysis, or generate Pro cards locally.
21
+ - **`qcoder pro workflow --dry-run-manifest`** writes a local JSON contract (`qcoder.pro_preview.workflow_manifest.v0`) and performs **no network calls**. This is the default path for most users.
22
+ - **`qcoder pro workflow --submit`** posts a **sanitized manifest only** to an **explicitly configured** `--service-url` (or `QCODER_PRO_API_URL`). Use it only when QRS has given you a service URL and token. The default `https://qcoder.ai/preview` URL is **not** accepted for submit.
23
+ - There is **no generally available production hosted Pro service**, account/token issuance, or artifact upload in this public-main surface. Production hosted service, Cloud Run/GCS, and confidential analysis are separate/future.
24
+ - **No confidential Pro analysis or cards** are bundled in this package. Token-gating is **access control only**, not a secrecy boundary.
25
+
26
+ ## Quick start
27
+
28
+ Install:
29
+
30
+ ```bash
31
+ pip install qcoder
32
+ ```
33
+
34
+ Analyze a circuit:
35
+
36
+ ```bash
37
+ qcoder analyze path/to/circuit.qasm --json
38
+ ```
39
+
40
+ Create local context and review artifacts:
41
+
42
+ ```bash
43
+ qcoder context path/to/circuit.qasm --out-json preflight.context.json --out-md preflight.context.md
44
+ qcoder review --counts-json counts.json --format qiskit_counts --preflight-json preflight.context.json --out-json execution.review.json --out-md execution.review.md
45
+ ```
46
+
47
+ Pro Preview bootstrap (local contract rehearsal):
48
+
49
+ ```bash
50
+ qcoder pro --help
51
+ qcoder pro signup
52
+ qcoder pro install --token <token-if-provided>
53
+ qcoder pro status
54
+ qcoder pro validate
55
+ qcoder pro workflow --qasm path/to/circuit.qasm --dry-run-manifest pro.workflow.manifest.json
56
+ ```
57
+
58
+ Use **`--dry-run-manifest`** unless QRS has given you a non-default service URL and token for contract rehearsal. Manifest-only submit (no artifact upload) is opt-in:
59
+
60
+ ```bash
61
+ qcoder pro workflow --qasm path/to/circuit.qasm --submit --service-url <url-qrs-provided>
62
+ ```
63
+
64
+ Architecture notes: [`docs/architecture.md`](docs/architecture.md).
65
+
66
+ ## Optional extras
67
+
68
+ ```bash
69
+ pip install "qcoder[qiskit]"
70
+ pip install "qcoder[cirq]"
71
+ pip install "qcoder[pennylane]"
72
+ ```
73
+
74
+ ## License
75
+
76
+ Apache-2.0 (see `LICENSE` and `NOTICE`).
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "qcoder"
7
- version = "0.5.0a1"
7
+ version = "0.5.0a2"
8
8
  description = "Quantum circuit analysis and structured feature extraction tools."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,3 +1,3 @@
1
1
  __all__ = []
2
- __version__ = "0.5.0a1"
2
+ __version__ = "0.5.0a2"
3
3
  file = __file__