QuLab 2.4.16__cp312-cp312-macosx_10_13_universal2.whl → 2.4.17__cp312-cp312-macosx_10_13_universal2.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.
- {QuLab-2.4.16.dist-info → QuLab-2.4.17.dist-info}/METADATA +1 -1
- {QuLab-2.4.16.dist-info → QuLab-2.4.17.dist-info}/RECORD +11 -11
- qulab/executor/cli.py +9 -0
- qulab/executor/load.py +6 -2
- qulab/executor/utils.py +2 -2
- qulab/fun.cpython-312-darwin.so +0 -0
- qulab/version.py +1 -1
- {QuLab-2.4.16.dist-info → QuLab-2.4.17.dist-info}/LICENSE +0 -0
- {QuLab-2.4.16.dist-info → QuLab-2.4.17.dist-info}/WHEEL +0 -0
- {QuLab-2.4.16.dist-info → QuLab-2.4.17.dist-info}/entry_points.txt +0 -0
- {QuLab-2.4.16.dist-info → QuLab-2.4.17.dist-info}/top_level.txt +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
qulab/__init__.py,sha256=P-Mx2p4TVmL91SoxoeXcj8Qm0x4xUf5Q_FLk0Yc_gIQ,138
|
|
2
2
|
qulab/__main__.py,sha256=JgErYkiskih8Y6oRwowALtR-rwQhAAdqOYWjQraRIPI,59
|
|
3
3
|
qulab/dicttree.py,sha256=tRRMpGZYVOLw0TEByE3_2Ss8FdOmzuGL9e1DWbs8qoY,13684
|
|
4
|
-
qulab/fun.cpython-312-darwin.so,sha256=
|
|
5
|
-
qulab/version.py,sha256=
|
|
4
|
+
qulab/fun.cpython-312-darwin.so,sha256=VRYtRfEafLRrUFTW423zgNJz_TWbisQP5_mtP33xBug,126864
|
|
5
|
+
qulab/version.py,sha256=7sdjAp5MKcoRwUjjN0nAZGMtB3lz4cfXjSGNTq8NnJ4,22
|
|
6
6
|
qulab/cli/__init__.py,sha256=tgDIkkeIoasQXAifJZ6NU8jDgpNgb2a-B0C4nF0evrE,559
|
|
7
7
|
qulab/cli/config.py,sha256=QksTYD3-RBYBG8xnKLAh7EXrNOwxr128XXr30ZTFW6A,2983
|
|
8
8
|
qulab/executor/__init__.py,sha256=LosPzOMaljSZY1thy_Fxtbrgq7uubJszMABEB7oM7tU,101
|
|
9
|
-
qulab/executor/cli.py,sha256=
|
|
10
|
-
qulab/executor/load.py,sha256=
|
|
9
|
+
qulab/executor/cli.py,sha256=9x7yCvEI41MaALE5Hv9-15Z_IGs2_Kswo3EjCoh_RPE,5595
|
|
10
|
+
qulab/executor/load.py,sha256=eKysHL5EHKd_YcfHOVwRoaNsD-k0cTuxDY_7Yn5W8hA,11078
|
|
11
11
|
qulab/executor/schedule.py,sha256=SfMZys8WdmIvfW5fPM42g-F6XwewTdpC0-puhf5TA54,11721
|
|
12
12
|
qulab/executor/storage.py,sha256=M66Q5_Uc5MMfc_QAuuaaexwAz7wxBPMkeleB5nRpQmI,4621
|
|
13
13
|
qulab/executor/transform.py,sha256=inaOn6eqCs22ZZ0xAQl8s8YCoEACaXSwFNNu7jqdwAk,2148
|
|
14
|
-
qulab/executor/utils.py,sha256=
|
|
14
|
+
qulab/executor/utils.py,sha256=RmnT0wMTAvavM-abgFt2tQN8TaaHuk86-YAiOUQCoBU,3101
|
|
15
15
|
qulab/monitor/__init__.py,sha256=nTHelnDpxRS_fl_B38TsN0njgq8eVTEz9IAnN3NbDlM,42
|
|
16
16
|
qulab/monitor/__main__.py,sha256=w3yUcqq195LzSnXTkQcuC1RSFRhy4oQ_PEBmucXguME,97
|
|
17
17
|
qulab/monitor/config.py,sha256=fQ5JcsMApKc1UwANEnIvbDQZl8uYW0tle92SaYtX9lI,744
|
|
@@ -91,9 +91,9 @@ qulab/visualization/plot_seq.py,sha256=UWTS6p9nfX_7B8ehcYo6UnSTUCjkBsNU9jiOeW2ca
|
|
|
91
91
|
qulab/visualization/qdat.py,sha256=ZeevBYWkzbww4xZnsjHhw7wRorJCBzbG0iEu-XQB4EA,5735
|
|
92
92
|
qulab/visualization/rot3d.py,sha256=lMrEJlRLwYe6NMBlGkKYpp_V9CTipOAuDy6QW_cQK00,734
|
|
93
93
|
qulab/visualization/widgets.py,sha256=6KkiTyQ8J-ei70LbPQZAK35wjktY47w2IveOa682ftA,3180
|
|
94
|
-
QuLab-2.4.
|
|
95
|
-
QuLab-2.4.
|
|
96
|
-
QuLab-2.4.
|
|
97
|
-
QuLab-2.4.
|
|
98
|
-
QuLab-2.4.
|
|
99
|
-
QuLab-2.4.
|
|
94
|
+
QuLab-2.4.17.dist-info/LICENSE,sha256=PRzIKxZtpQcH7whTG6Egvzl1A0BvnSf30tmR2X2KrpA,1065
|
|
95
|
+
QuLab-2.4.17.dist-info/METADATA,sha256=dAJd-BCvDEyHIZiHvmLE4OPr1FuPeEzimYABjdgkCrw,3699
|
|
96
|
+
QuLab-2.4.17.dist-info/WHEEL,sha256=iDXcyuxg-66TzzqHGH-kgw_HJdaJE_1RHznrvPNCSNs,115
|
|
97
|
+
QuLab-2.4.17.dist-info/entry_points.txt,sha256=b0v1GXOwmxY-nCCsPN_rHZZvY9CtTbWqrGj8u1m8yHo,45
|
|
98
|
+
QuLab-2.4.17.dist-info/top_level.txt,sha256=3T886LbAsbvjonu_TDdmgxKYUn939BVTRPxPl9r4cEg,6
|
|
99
|
+
QuLab-2.4.17.dist-info/RECORD,,
|
qulab/executor/cli.py
CHANGED
|
@@ -54,6 +54,7 @@ def create(workflow, code):
|
|
|
54
54
|
"""
|
|
55
55
|
Create a new workflow file.
|
|
56
56
|
"""
|
|
57
|
+
logger.info(f'[CMD]: create {workflow} --code {code}')
|
|
57
58
|
if code is None:
|
|
58
59
|
code = Path.cwd()
|
|
59
60
|
|
|
@@ -82,6 +83,7 @@ def set(key, value, api):
|
|
|
82
83
|
"""
|
|
83
84
|
Set a config.
|
|
84
85
|
"""
|
|
86
|
+
logger.info(f'[CMD]: set {key} {value} --api {api}')
|
|
85
87
|
from . import transform
|
|
86
88
|
if api is not None:
|
|
87
89
|
api = importlib.import_module(api)
|
|
@@ -103,6 +105,7 @@ def get(key, api):
|
|
|
103
105
|
"""
|
|
104
106
|
Get a config.
|
|
105
107
|
"""
|
|
108
|
+
logger.info(f'[CMD]: get {key} --api {api}')
|
|
106
109
|
from . import transform
|
|
107
110
|
if api is not None:
|
|
108
111
|
api = importlib.import_module(api)
|
|
@@ -123,6 +126,9 @@ def run(workflow, code, data, api, plot, no_dependents):
|
|
|
123
126
|
"""
|
|
124
127
|
Run a workflow.
|
|
125
128
|
"""
|
|
129
|
+
logger.info(
|
|
130
|
+
f'[CMD]: run {workflow} --code {code} --data {data} --api {api} --plot {plot} --no-dependents {no_dependents}'
|
|
131
|
+
)
|
|
126
132
|
if api is not None:
|
|
127
133
|
api = importlib.import_module(api)
|
|
128
134
|
set_config_api(api.query_config, api.update_config)
|
|
@@ -159,6 +165,9 @@ def maintain(workflow, code, data, api, plot):
|
|
|
159
165
|
"""
|
|
160
166
|
Maintain a workflow.
|
|
161
167
|
"""
|
|
168
|
+
logger.info(
|
|
169
|
+
f'[CMD]: maintain {workflow} --code {code} --data {data} --api {api} --plot {plot}'
|
|
170
|
+
)
|
|
162
171
|
if api is not None:
|
|
163
172
|
api = importlib.import_module(api)
|
|
164
173
|
set_config_api(api.query_config, api.update_config)
|
qulab/executor/load.py
CHANGED
|
@@ -21,7 +21,7 @@ class SetConfigWorkflow():
|
|
|
21
21
|
self.key = key
|
|
22
22
|
|
|
23
23
|
def depends(self):
|
|
24
|
-
return [
|
|
24
|
+
return []
|
|
25
25
|
|
|
26
26
|
def check_state(self, history: Result) -> bool:
|
|
27
27
|
from . import transform
|
|
@@ -254,6 +254,10 @@ def load_workflow_from_template(template_path: str,
|
|
|
254
254
|
return new_text
|
|
255
255
|
|
|
256
256
|
template = string.Template(replace(content))
|
|
257
|
+
keys = template.get_identifiers()
|
|
258
|
+
missing = set(keys) - set(mappping.keys())
|
|
259
|
+
if missing:
|
|
260
|
+
raise KeyError(f"{template_path}: Missing keys in mapping: {missing}")
|
|
257
261
|
content = template.substitute(mappping)
|
|
258
262
|
|
|
259
263
|
hash_str = hashlib.md5(pickle.dumps(mappping)).hexdigest()[:8]
|
|
@@ -323,7 +327,7 @@ def get_dependents(workflow: WorkflowType,
|
|
|
323
327
|
code_path: str | Path) -> list[WorkflowType]:
|
|
324
328
|
return [
|
|
325
329
|
load_workflow(n, code_path, mtime=workflow.__mtime__)
|
|
326
|
-
for n in workflow.depends()
|
|
330
|
+
for n in workflow.depends()
|
|
327
331
|
]
|
|
328
332
|
|
|
329
333
|
|
qulab/executor/utils.py
CHANGED
|
@@ -25,7 +25,7 @@ def dependent_tree(node: str, code_path: str | Path) -> dict[str, list[str]]:
|
|
|
25
25
|
Returns a dict of nodes and their dependents.
|
|
26
26
|
'''
|
|
27
27
|
tree = {}
|
|
28
|
-
for n in load_workflow(node, code_path).depends()
|
|
28
|
+
for n in load_workflow(node, code_path).depends():
|
|
29
29
|
tree[n] = dependent_tree(n, code_path)
|
|
30
30
|
return tree
|
|
31
31
|
|
|
@@ -43,7 +43,7 @@ import numpy as np
|
|
|
43
43
|
__timeout__ = 7*24*3600
|
|
44
44
|
|
|
45
45
|
def depends():
|
|
46
|
-
return
|
|
46
|
+
return {deps!r}
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
def calibrate():
|
qulab/fun.cpython-312-darwin.so
CHANGED
|
Binary file
|
qulab/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "2.4.
|
|
1
|
+
__version__ = "2.4.17"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|