qex 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.whl
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.
- qex/__init__.py +41 -0
- {qlab → qex}/demos.py +1 -1
- {qlab → qex}/runner.py +4 -4
- {qex-0.1.1.dist-info → qex-0.1.2.dist-info}/METADATA +13 -13
- qex-0.1.2.dist-info/RECORD +12 -0
- qex-0.1.2.dist-info/top_level.txt +1 -0
- qex-0.1.1.dist-info/RECORD +0 -12
- qex-0.1.1.dist-info/top_level.txt +0 -1
- qlab/__init__.py +0 -20
- {qlab → qex}/backend.py +0 -0
- {qlab → qex}/bloch.py +0 -0
- {qlab → qex}/experiment.py +0 -0
- {qlab → qex}/py.typed +0 -0
- {qlab → qex}/store.py +0 -0
- {qex-0.1.1.dist-info → qex-0.1.2.dist-info}/WHEEL +0 -0
qex/__init__.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"""
|
|
2
|
+
qex: A lightweight experiment-runner and lab notebook for quantum computing.
|
|
3
|
+
|
|
4
|
+
Built on top of Cirq, focused on experiments, runs, reproducibility, and visualization.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__version__ = "0.1.2"
|
|
8
|
+
__all__ = [
|
|
9
|
+
"Experiment",
|
|
10
|
+
"Backend",
|
|
11
|
+
"CirqBackend",
|
|
12
|
+
"Runner",
|
|
13
|
+
"ResultStore",
|
|
14
|
+
"RunRecord",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def __getattr__(name: str):
|
|
19
|
+
"""
|
|
20
|
+
Lazy import to avoid slow imports of heavy dependencies (cirq, numpy).
|
|
21
|
+
Heavy modules load only when specific classes are accessed.
|
|
22
|
+
"""
|
|
23
|
+
if name == "Experiment":
|
|
24
|
+
from qex.experiment import Experiment
|
|
25
|
+
return Experiment
|
|
26
|
+
elif name == "Backend":
|
|
27
|
+
from qex.backend import Backend
|
|
28
|
+
return Backend
|
|
29
|
+
elif name == "CirqBackend":
|
|
30
|
+
from qex.backend import CirqBackend
|
|
31
|
+
return CirqBackend
|
|
32
|
+
elif name == "Runner":
|
|
33
|
+
from qex.runner import Runner
|
|
34
|
+
return Runner
|
|
35
|
+
elif name == "ResultStore":
|
|
36
|
+
from qex.store import ResultStore
|
|
37
|
+
return ResultStore
|
|
38
|
+
elif name == "RunRecord":
|
|
39
|
+
from qex.store import RunRecord
|
|
40
|
+
return RunRecord
|
|
41
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
{qlab → qex}/demos.py
RENAMED
{qlab → qex}/runner.py
RENAMED
|
@@ -8,10 +8,10 @@ from typing import Dict, Any, Optional
|
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
import cirq
|
|
10
10
|
import numpy as np
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
11
|
+
from qex.experiment import Experiment
|
|
12
|
+
from qex.backend import Backend
|
|
13
|
+
from qex.store import RunRecord # type: ignore
|
|
14
|
+
from qex.bloch import density_matrix_to_bloch, bloch_to_html
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class Runner:
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: qex
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: A lightweight experiment-runner and lab notebook for quantum computing
|
|
5
|
-
Author:
|
|
5
|
+
Author: qex contributors
|
|
6
6
|
License: Apache-2.0
|
|
7
|
-
Project-URL: Homepage, https://github.com/AndreaPallotta/
|
|
8
|
-
Project-URL: Documentation, https://github.com/AndreaPallotta/
|
|
9
|
-
Project-URL: Repository, https://github.com/AndreaPallotta/
|
|
10
|
-
Project-URL: Issues, https://github.com/AndreaPallotta/
|
|
7
|
+
Project-URL: Homepage, https://github.com/AndreaPallotta/qex
|
|
8
|
+
Project-URL: Documentation, https://github.com/AndreaPallotta/qex#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/AndreaPallotta/qex
|
|
10
|
+
Project-URL: Issues, https://github.com/AndreaPallotta/qex/issues
|
|
11
11
|
Keywords: quantum,quantum-computing,cirq,experiments,quantum-simulation,bloch-sphere
|
|
12
12
|
Classifier: Development Status :: 3 - Alpha
|
|
13
13
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -30,17 +30,17 @@ Requires-Dist: black>=23.0.0; extra == "dev"
|
|
|
30
30
|
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
31
31
|
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
32
32
|
|
|
33
|
-
#
|
|
33
|
+
# qex
|
|
34
34
|
|
|
35
35
|
<div align="center">
|
|
36
|
-
<img src="https://raw.githubusercontent.com/AndreaPallotta/
|
|
36
|
+
<img src="https://raw.githubusercontent.com/AndreaPallotta/qex/main/assets/logo.png" alt="qex logo" width="200"/>
|
|
37
37
|
</div>
|
|
38
38
|
|
|
39
39
|
A lightweight experiment-runner and lab notebook for quantum computing, built on top of Cirq.
|
|
40
40
|
|
|
41
41
|
## Overview
|
|
42
42
|
|
|
43
|
-
`
|
|
43
|
+
`qex` is designed for running quantum experiments, tracking results, and visualizing outcomes. It focuses on reproducibility, persistence, and visualization rather than being a general-purpose quantum framework.
|
|
44
44
|
|
|
45
45
|
**Key Features:**
|
|
46
46
|
- 🧪 **Experiment Management**: Define parametric quantum circuits and run them systematically
|
|
@@ -58,14 +58,14 @@ pip install qex
|
|
|
58
58
|
## Quick Start
|
|
59
59
|
|
|
60
60
|
```python
|
|
61
|
-
from
|
|
62
|
-
from
|
|
61
|
+
from qex import CirqBackend, Runner, ResultStore
|
|
62
|
+
from qex.demos import hadamard_experiment
|
|
63
63
|
from pathlib import Path
|
|
64
64
|
|
|
65
65
|
# Setup
|
|
66
66
|
backend = CirqBackend()
|
|
67
67
|
runner = Runner(backend)
|
|
68
|
-
store = ResultStore(Path("
|
|
68
|
+
store = ResultStore(Path("qex_data/qex.db"))
|
|
69
69
|
|
|
70
70
|
# Run an experiment
|
|
71
71
|
experiment = hadamard_experiment()
|
|
@@ -84,7 +84,7 @@ store.close()
|
|
|
84
84
|
|
|
85
85
|
## Built-in Experiments
|
|
86
86
|
|
|
87
|
-
`
|
|
87
|
+
`qex` includes three demo experiments for validation:
|
|
88
88
|
|
|
89
89
|
- **X Gate**: `|0⟩ → X → |1⟩` - Simple bit flip
|
|
90
90
|
- **Hadamard**: `|0⟩ → H → superposition` - Creates equal superposition
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
qex/__init__.py,sha256=TXHGt7tVUe5IJ91i-lTkLyTD-u_gTEe86oS1A2I5zyY,1151
|
|
2
|
+
qex/backend.py,sha256=V7TASI-SSCNK9AApvD6d2C1LabB7XB1xNyH-I4h65qI,2383
|
|
3
|
+
qex/bloch.py,sha256=J34uLDZ07HgfMPs7ANV4aeGLSZB2LUU7QylxyKdrw2E,5903
|
|
4
|
+
qex/demos.py,sha256=EVE5aBECsdL0JNKKglBU3k-3OIvqHjOUph4G4-fwGpE,1703
|
|
5
|
+
qex/experiment.py,sha256=PjPMb4N8T3oyx0bSyZ5Vl7uKqKh_vp16bpt-9nSTnuE,1458
|
|
6
|
+
qex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
qex/runner.py,sha256=E4INxX7xDZ2CxtJcliO1QUknIhskvj2YLlBr5cresIY,3531
|
|
8
|
+
qex/store.py,sha256=GgpkSXf61AS9dQZ01ajHsqGAskF4bEwWqknSZQl_vnA,8837
|
|
9
|
+
qex-0.1.2.dist-info/METADATA,sha256=ppNxPbxUgJQT9Hha3RvAZBi8j7LsAQd5DD_msHWspFo,3949
|
|
10
|
+
qex-0.1.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
11
|
+
qex-0.1.2.dist-info/top_level.txt,sha256=0xcbZzEXvNlp5BmCnC9sD_kGau0983cgGPNtIjm_EvE,4
|
|
12
|
+
qex-0.1.2.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
qex
|
qex-0.1.1.dist-info/RECORD
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
qlab/__init__.py,sha256=47G37bkDpMm9lyMFWKVYyM9ELKJo65apPh41sTQYIV4,477
|
|
2
|
-
qlab/backend.py,sha256=V7TASI-SSCNK9AApvD6d2C1LabB7XB1xNyH-I4h65qI,2383
|
|
3
|
-
qlab/bloch.py,sha256=J34uLDZ07HgfMPs7ANV4aeGLSZB2LUU7QylxyKdrw2E,5903
|
|
4
|
-
qlab/demos.py,sha256=AFNovp2NnhvBftmAkwxNPs--gOQFqX7gglwXsLki6kQ,1704
|
|
5
|
-
qlab/experiment.py,sha256=PjPMb4N8T3oyx0bSyZ5Vl7uKqKh_vp16bpt-9nSTnuE,1458
|
|
6
|
-
qlab/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
qlab/runner.py,sha256=iHk6eGm61eZxlgQmeFKWPCZD0ziLjKh39ZlEijAdgnQ,3535
|
|
8
|
-
qlab/store.py,sha256=GgpkSXf61AS9dQZ01ajHsqGAskF4bEwWqknSZQl_vnA,8837
|
|
9
|
-
qex-0.1.1.dist-info/METADATA,sha256=KdqNuy-sJP4s8QQ6Dd8OvsMcHeK2u95C9Kc6qoAuGwY,3963
|
|
10
|
-
qex-0.1.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
11
|
-
qex-0.1.1.dist-info/top_level.txt,sha256=XdHlK9uLEScGqteqlmIiXaMKp12rVhyoXvdhS_TTvdg,5
|
|
12
|
-
qex-0.1.1.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
qlab
|
qlab/__init__.py
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
qlab: A lightweight experiment-runner and lab notebook for quantum computing.
|
|
3
|
-
|
|
4
|
-
Built on top of Cirq, focused on experiments, runs, reproducibility, and visualization.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from qlab.experiment import Experiment
|
|
8
|
-
from qlab.backend import Backend, CirqBackend
|
|
9
|
-
from qlab.runner import Runner
|
|
10
|
-
from qlab.store import ResultStore, RunRecord
|
|
11
|
-
|
|
12
|
-
__version__ = "0.1.0"
|
|
13
|
-
__all__ = [
|
|
14
|
-
"Experiment",
|
|
15
|
-
"Backend",
|
|
16
|
-
"CirqBackend",
|
|
17
|
-
"Runner",
|
|
18
|
-
"ResultStore",
|
|
19
|
-
"RunRecord",
|
|
20
|
-
]
|
{qlab → qex}/backend.py
RENAMED
|
File without changes
|
{qlab → qex}/bloch.py
RENAMED
|
File without changes
|
{qlab → qex}/experiment.py
RENAMED
|
File without changes
|
{qlab → qex}/py.typed
RENAMED
|
File without changes
|
{qlab → qex}/store.py
RENAMED
|
File without changes
|
|
File without changes
|