qcoder 0.5.0a2__tar.gz → 0.5.0a4__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 (70) hide show
  1. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/CHANGELOG.md +19 -0
  2. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/PKG-INFO +30 -3
  3. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/README.md +29 -2
  4. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/pyproject.toml +1 -1
  5. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/__init__.py +1 -1
  6. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/cli.py +437 -17
  7. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/pro_preview/__init__.py +18 -3
  8. qcoder-0.5.0a4/src/qcoder/pro_preview/client.py +268 -0
  9. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder.egg-info/PKG-INFO +30 -3
  10. qcoder-0.5.0a2/src/qcoder/pro_preview/client.py +0 -122
  11. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/LICENSE +0 -0
  12. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/MANIFEST.in +0 -0
  13. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/NOTICE +0 -0
  14. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/setup.cfg +0 -0
  15. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/__main__.py +0 -0
  16. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/core/__init__.py +0 -0
  17. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/core/context.py +0 -0
  18. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/core/qasm2/__init__.py +0 -0
  19. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/core/qasm2/adjoint_eligibility.py +0 -0
  20. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/core/qasm2/mirror_build.py +0 -0
  21. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/core/run_config.py +0 -0
  22. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/core/schema.py +0 -0
  23. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/context/__init__.py +0 -0
  24. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/context/bundle.py +0 -0
  25. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/context/markdown.py +0 -0
  26. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/adapters/__init__.py +0 -0
  27. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/adapters/cirq_intake.py +0 -0
  28. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/adapters/pennylane_intake.py +0 -0
  29. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/adapters/qiskit_intake.py +0 -0
  30. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/extractor.py +0 -0
  31. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/features/compute_v0.py +0 -0
  32. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/features/glossary_v0.py +0 -0
  33. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/features/schema_v0.py +0 -0
  34. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/ir.py +0 -0
  35. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/labeling.py +0 -0
  36. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/parsers/__init__.py +0 -0
  37. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/qasm2_regex_parser.py +0 -0
  38. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/reps/cut_profile.py +0 -0
  39. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/reps/depth.py +0 -0
  40. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/reps/entangling_layers.py +0 -0
  41. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/reps/gate_set_stats.py +0 -0
  42. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/reps/interaction_graph.py +0 -0
  43. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/reps/interaction_graph_metrics.py +0 -0
  44. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/feature_extraction/reps/spans.py +0 -0
  45. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/guidance/__init__.py +0 -0
  46. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/guidance/model_pack.py +0 -0
  47. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/guidance/resource.py +0 -0
  48. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/guidance/structural_scores.py +0 -0
  49. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/profiles/__init__.py +0 -0
  50. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/profiles/feature_profiles_v0.py +0 -0
  51. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/review/__init__.py +0 -0
  52. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/review/bundle.py +0 -0
  53. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/review/counts_v0.py +0 -0
  54. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/review/markdown.py +0 -0
  55. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/engines/review/qiskit_counts.py +0 -0
  56. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/model_packs/__init__.py +0 -0
  57. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/model_packs/resource_guidance_local_v0.json +0 -0
  58. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/pipelines/analyze.py +0 -0
  59. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/pipelines/batch.py +0 -0
  60. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/pipelines/context.py +0 -0
  61. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/pipelines/review.py +0 -0
  62. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/pro_preview/config.py +0 -0
  63. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/pro_preview/errors.py +0 -0
  64. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/pro_preview/manifest.py +0 -0
  65. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder/tools/batch.py +0 -0
  66. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder.egg-info/SOURCES.txt +0 -0
  67. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder.egg-info/dependency_links.txt +0 -0
  68. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder.egg-info/entry_points.txt +0 -0
  69. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder.egg-info/requires.txt +0 -0
  70. {qcoder-0.5.0a2 → qcoder-0.5.0a4}/src/qcoder.egg-info/top_level.txt +0 -0
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+
4
+ ## 0.5.0a4
5
+
6
+ - Add public Student aliases: `qcoder student status` and `qcoder student demo`.
7
+ - Add `qcoder student evidence` for the existing deterministic hosted guided-evidence endpoint.
8
+ - Polish Student CLI output so `status` is access-framed, `demo` is the built-in teaching demo, and `evidence` renders learner-friendly summaries by default.
9
+ - Hide hosted meta fields in default Student output; add `--json` on Student subcommands for intentional raw payload output.
10
+ - Add `QCODER_STUDENT_BASE_URL` / `QCODER_STUDENT_TOKEN` aliases while preserving Preview/Pro env compatibility.
11
+ - Student aliases reuse the hosted Preview client configuration: `QCODER_PREVIEW_BASE_URL` / `QCODER_PREVIEW_TOKEN`, with `QCODER_PRO_API_URL` / `QCODER_PRO_TOKEN` compatibility fallbacks.
12
+ - No service deployment change is included in this public package slice.
13
+ - Existing `qcoder pro preview status` and `qcoder pro preview demo` commands remain compatible.
14
+
15
+ ## 0.5.0a3
16
+
17
+ - Add public hosted Preview client commands: `qcoder pro preview status` and `qcoder pro preview demo`.
18
+ - Support env-based hosted Preview configuration with `QCODER_PREVIEW_BASE_URL` / `QCODER_PREVIEW_TOKEN`, with `QCODER_PRO_API_URL` / `QCODER_PRO_TOKEN` compatibility fallbacks.
19
+ - Keep hosted Preview output bounded and token-safe: no token persistence, no Authorization header printing, and safe handling for 200/401/403/network failures.
20
+ - Preserve public package boundary: no confidential Pro implementation, account service, protected service, uploads, QPU/provider execution, payment, hosted MCP, or Pro V0.0 launch claim is included in this package.
21
+
3
22
  All notable changes to this project will be documented in this file.
4
23
 
5
24
  The format is based on common practice for pre-1.0 semantic versioning: **`MAJOR.MINOR.PATCH`** with **`aN`** for alpha prereleases.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qcoder
3
- Version: 0.5.0a2
3
+ Version: 0.5.0a4
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>
@@ -41,16 +41,19 @@ Free `qcoder` commands run offline and do not call hosted services, upload telem
41
41
  - `qcoder context`
42
42
  - `qcoder review`
43
43
  - `qcoder pro` (Pro bootstrap and client contract; non-confidential local plumbing only)
44
+ - `qcoder student` (Student status/demo/evidence aliases for hosted Preview connectivity checks)
44
45
 
45
46
  ## Pro Preview boundaries
46
47
 
47
48
  Public `qcoder` ships **Free local commands** plus a **Pro bootstrap/client contract**. It is **not** the sellable hosted Pro product.
48
49
 
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
+ For a public, pilot-safe walkthrough, see the [Pro Preview pilot walkthrough](https://qcoder.ai/manual/pro-preview-pilot-walkthrough/). The current public PyPI alpha client surface for Pro Preview is **`qcoder==0.5.0a4`**. It is not Pro V0.0 and not a sellable launched Pro product.
51
+
52
+ - **Free commands** (`analyze`, `batch`, `context`, `review`) are Apache-2.0, local-first/offline, and useful without Pro. They do not upload data, call a qCoder hosted service, or run QPU/simulator jobs.
50
53
  - **`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
54
  - **`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
55
  - **`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.
56
+ - There is **no generally available production hosted Pro service**, account/token issuance, artifact/source upload, telemetry/training ingest, confidential local analyzer/cards, QPU/provider execution, or launched Pro V0.0 behavior in this public-main surface.
54
57
  - **No confidential Pro analysis or cards** are bundled in this package. Token-gating is **access control only**, not a secrecy boundary.
55
58
 
56
59
  ## Quick start
@@ -83,6 +86,9 @@ qcoder pro install --token <token-if-provided>
83
86
  qcoder pro status
84
87
  qcoder pro validate
85
88
  qcoder pro workflow --qasm path/to/circuit.qasm --dry-run-manifest pro.workflow.manifest.json
89
+ qcoder student status
90
+ qcoder student demo
91
+ qcoder student evidence
86
92
  ```
87
93
 
88
94
  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:
@@ -91,6 +97,27 @@ Use **`--dry-run-manifest`** unless QRS has given you a non-default service URL
91
97
  qcoder pro workflow --qasm path/to/circuit.qasm --submit --service-url <url-qrs-provided>
92
98
  ```
93
99
 
100
+ **Support-safe checklist for Pro Preview pilots**
101
+
102
+ Safe to share with QRS support:
103
+
104
+ - `qcoder --version`
105
+ - command name
106
+ - HTTP status or CLI error code
107
+ - `job_id`, if produced
108
+ - redacted output
109
+ - manifest schema/version
110
+
111
+ Do not share:
112
+
113
+ - bearer tokens
114
+ - secrets
115
+ - source code
116
+ - repository archives
117
+ - notebooks
118
+ - private prompts or chat transcripts
119
+ - raw QASM/source artifacts through unsupported paths
120
+
94
121
  Architecture notes: [`docs/architecture.md`](docs/architecture.md).
95
122
 
96
123
  ## Optional extras
@@ -11,16 +11,19 @@ Free `qcoder` commands run offline and do not call hosted services, upload telem
11
11
  - `qcoder context`
12
12
  - `qcoder review`
13
13
  - `qcoder pro` (Pro bootstrap and client contract; non-confidential local plumbing only)
14
+ - `qcoder student` (Student status/demo/evidence aliases for hosted Preview connectivity checks)
14
15
 
15
16
  ## Pro Preview boundaries
16
17
 
17
18
  Public `qcoder` ships **Free local commands** plus a **Pro bootstrap/client contract**. It is **not** the sellable hosted Pro product.
18
19
 
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
+ For a public, pilot-safe walkthrough, see the [Pro Preview pilot walkthrough](https://qcoder.ai/manual/pro-preview-pilot-walkthrough/). The current public PyPI alpha client surface for Pro Preview is **`qcoder==0.5.0a4`**. It is not Pro V0.0 and not a sellable launched Pro product.
21
+
22
+ - **Free commands** (`analyze`, `batch`, `context`, `review`) are Apache-2.0, local-first/offline, and useful without Pro. They do not upload data, call a qCoder hosted service, or run QPU/simulator jobs.
20
23
  - **`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
24
  - **`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
25
  - **`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.
26
+ - There is **no generally available production hosted Pro service**, account/token issuance, artifact/source upload, telemetry/training ingest, confidential local analyzer/cards, QPU/provider execution, or launched Pro V0.0 behavior in this public-main surface.
24
27
  - **No confidential Pro analysis or cards** are bundled in this package. Token-gating is **access control only**, not a secrecy boundary.
25
28
 
26
29
  ## Quick start
@@ -53,6 +56,9 @@ qcoder pro install --token <token-if-provided>
53
56
  qcoder pro status
54
57
  qcoder pro validate
55
58
  qcoder pro workflow --qasm path/to/circuit.qasm --dry-run-manifest pro.workflow.manifest.json
59
+ qcoder student status
60
+ qcoder student demo
61
+ qcoder student evidence
56
62
  ```
57
63
 
58
64
  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:
@@ -61,6 +67,27 @@ Use **`--dry-run-manifest`** unless QRS has given you a non-default service URL
61
67
  qcoder pro workflow --qasm path/to/circuit.qasm --submit --service-url <url-qrs-provided>
62
68
  ```
63
69
 
70
+ **Support-safe checklist for Pro Preview pilots**
71
+
72
+ Safe to share with QRS support:
73
+
74
+ - `qcoder --version`
75
+ - command name
76
+ - HTTP status or CLI error code
77
+ - `job_id`, if produced
78
+ - redacted output
79
+ - manifest schema/version
80
+
81
+ Do not share:
82
+
83
+ - bearer tokens
84
+ - secrets
85
+ - source code
86
+ - repository archives
87
+ - notebooks
88
+ - private prompts or chat transcripts
89
+ - raw QASM/source artifacts through unsupported paths
90
+
64
91
  Architecture notes: [`docs/architecture.md`](docs/architecture.md).
65
92
 
66
93
  ## Optional extras
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "qcoder"
7
- version = "0.5.0a2"
7
+ version = "0.5.0a4"
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.0a2"
2
+ __version__ = "0.5.0a4"
3
3
  file = __file__