QuLab 2.11.9__py3-none-any.whl → 2.11.10__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.
- qulab/executor/schedule.py +17 -6
- qulab/executor/template.py +6 -1
- qulab/version.py +1 -1
- {qulab-2.11.9.dist-info → qulab-2.11.10.dist-info}/METADATA +2 -1
- {qulab-2.11.9.dist-info → qulab-2.11.10.dist-info}/RECORD +9 -9
- {qulab-2.11.9.dist-info → qulab-2.11.10.dist-info}/WHEEL +0 -0
- {qulab-2.11.9.dist-info → qulab-2.11.10.dist-info}/entry_points.txt +0 -0
- {qulab-2.11.9.dist-info → qulab-2.11.10.dist-info}/licenses/LICENSE +0 -0
- {qulab-2.11.9.dist-info → qulab-2.11.10.dist-info}/top_level.txt +0 -0
qulab/executor/schedule.py
CHANGED
@@ -127,12 +127,23 @@ def check_state(workflow: WorkflowType, code_path: str | Path,
|
|
127
127
|
|
128
128
|
|
129
129
|
@logger.catch(reraise=False)
|
130
|
-
async def call_plot(node: WorkflowType, report: Report
|
131
|
-
if hasattr(node, 'plot')
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
130
|
+
async def call_plot(node: WorkflowType, report: Report):
|
131
|
+
if not hasattr(node, 'plot') or not callable(node.plot):
|
132
|
+
return
|
133
|
+
|
134
|
+
if inspect.iscoroutinefunction(node.plot):
|
135
|
+
figs = await node.plot(report)
|
136
|
+
else:
|
137
|
+
figs = node.plot(report)
|
138
|
+
if figs is None:
|
139
|
+
return
|
140
|
+
elif isinstance(figs, (list, tuple)):
|
141
|
+
for fig in figs:
|
142
|
+
# fig.savefig(report.base_path / f'{node.__workflow_id__}.png')
|
143
|
+
fig.close()
|
144
|
+
else:
|
145
|
+
# figs.savefig(report.base_path / f'{node.__workflow_id__}.png')
|
146
|
+
figs.close()
|
136
147
|
|
137
148
|
|
138
149
|
async def call_check(workflow: WorkflowType, session_id: str,
|
qulab/executor/template.py
CHANGED
@@ -12,7 +12,12 @@ _notset = object()
|
|
12
12
|
|
13
13
|
|
14
14
|
def VAR(name: str, /, *, default: Any = _notset) -> Any:
|
15
|
-
|
15
|
+
if default is _notset:
|
16
|
+
raise TemplateKeyError(
|
17
|
+
f"The variable '{name}' is not provided in mapping."
|
18
|
+
)
|
19
|
+
else:
|
20
|
+
return default
|
16
21
|
|
17
22
|
|
18
23
|
def encode_mapping(mapping):
|
qulab/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "2.11.
|
1
|
+
__version__ = "2.11.10"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: QuLab
|
3
|
-
Version: 2.11.
|
3
|
+
Version: 2.11.10
|
4
4
|
Summary: contral instruments and manage data
|
5
5
|
Author-email: feihoo87 <feihoo87@gmail.com>
|
6
6
|
Maintainer-email: feihoo87 <feihoo87@gmail.com>
|
@@ -49,6 +49,7 @@ Requires-Dist: wath>=1.1.6
|
|
49
49
|
Requires-Dist: waveforms>=1.9.4
|
50
50
|
Requires-Dist: rich>=14.0.0
|
51
51
|
Provides-Extra: full
|
52
|
+
Requires-Dist: paramiko>=3.5.1; extra == "full"
|
52
53
|
Requires-Dist: uvloop>=0.19.0; extra == "full"
|
53
54
|
Dynamic: license-file
|
54
55
|
|
@@ -2,7 +2,7 @@ qulab/__init__.py,sha256=hmf6R3jiM5NtJY1mSptogYnH5DMTR2dTzlXykqLxQzg,2027
|
|
2
2
|
qulab/__main__.py,sha256=fjaRSL_uUjNIzBGNgjlGswb9TJ2VD5qnkZHW3hItrD4,68
|
3
3
|
qulab/typing.py,sha256=vg62sGqxuD9CI5677ejlzAmf2fVdAESZCQjAE_xSxPg,69
|
4
4
|
qulab/utils.py,sha256=B_8QdY9OMY7WU-F200v93BDJXJpQcKAHihnOXeEvv_w,3966
|
5
|
-
qulab/version.py,sha256=
|
5
|
+
qulab/version.py,sha256=xB08zidrdg5aQlDWwe_lBjpJMKhdnVRGdNtR9CzvjcY,23
|
6
6
|
qulab/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
7
|
qulab/cli/commands.py,sha256=ywKmwbGNBCVASx8OsgrRttaLz9ogwY38ZdKj7I-tdJ4,813
|
8
8
|
qulab/cli/config.py,sha256=tZPSBLbf2x_Brb2UBuA1bsni8nC8WOPPGyWIi8m7j1I,5459
|
@@ -12,9 +12,9 @@ qulab/executor/analyze.py,sha256=VYTfiOYJe5gDbtGA4wOkrQhhu55iIrRVByx-gBLUUm4,567
|
|
12
12
|
qulab/executor/cli.py,sha256=cMhx_oOWsvYWRi3XyaDbNKQ8B3o7nMZ-D3Eic9WJ-Bk,25505
|
13
13
|
qulab/executor/load.py,sha256=eMlzOrrn8GpbP3J3uY5JJ8iO7tL5B1DWP1z2qiGyNhU,20385
|
14
14
|
qulab/executor/registry.py,sha256=gym9F5FIDY5eV-cSCZsP99wC4l-6jkx9VMjJMaPOLaQ,4730
|
15
|
-
qulab/executor/schedule.py,sha256=
|
15
|
+
qulab/executor/schedule.py,sha256=cDFM_tIMvxHLxb-tBA6fEPF9u-4LcgnQDxbaquZIQKc,21727
|
16
16
|
qulab/executor/storage.py,sha256=8K73KGLAVgchJdtd4rKHXkr1CQOJORWH-Gi57w8IYsw,21081
|
17
|
-
qulab/executor/template.py,sha256=
|
17
|
+
qulab/executor/template.py,sha256=D8D7_B__R8wh1oOXk7CKZveRqDix4dNeUjefbfN6m9w,10720
|
18
18
|
qulab/executor/utils.py,sha256=YSUEYjyYTJTjiJmd-l5GTEnSyD6bqEdNoWhivEAfGZA,7112
|
19
19
|
qulab/monitor/__init__.py,sha256=FNYMIUr8ycRM4XmsAGpRK-A-SQsJZlcRWghXcGTgAi0,44
|
20
20
|
qulab/monitor/__main__.py,sha256=Txy4d7vgVYUWwiHxX3uwtsi1ewde-MaiSC_K0ePoPiM,1372
|
@@ -96,9 +96,9 @@ qulab/visualization/plot_seq.py,sha256=UWTS6p9nfX_7B8ehcYo6UnSTUCjkBsNU9jiOeW2ca
|
|
96
96
|
qulab/visualization/qdat.py,sha256=ZeevBYWkzbww4xZnsjHhw7wRorJCBzbG0iEu-XQB4EA,5735
|
97
97
|
qulab/visualization/rot3d.py,sha256=CuLfG1jw1032HNNZxzC0OWtNzKsbj2e2WRYhMWDgvMQ,1321
|
98
98
|
qulab/visualization/widgets.py,sha256=6KkiTyQ8J-ei70LbPQZAK35wjktY47w2IveOa682ftA,3180
|
99
|
-
qulab-2.11.
|
100
|
-
qulab-2.11.
|
101
|
-
qulab-2.11.
|
102
|
-
qulab-2.11.
|
103
|
-
qulab-2.11.
|
104
|
-
qulab-2.11.
|
99
|
+
qulab-2.11.10.dist-info/licenses/LICENSE,sha256=PRzIKxZtpQcH7whTG6Egvzl1A0BvnSf30tmR2X2KrpA,1065
|
100
|
+
qulab-2.11.10.dist-info/METADATA,sha256=vgFOZFLgcFe7je7WZiaP9_T1AMQq5LjIE_s6pIdeCGU,3945
|
101
|
+
qulab-2.11.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
102
|
+
qulab-2.11.10.dist-info/entry_points.txt,sha256=b0v1GXOwmxY-nCCsPN_rHZZvY9CtTbWqrGj8u1m8yHo,45
|
103
|
+
qulab-2.11.10.dist-info/top_level.txt,sha256=3T886LbAsbvjonu_TDdmgxKYUn939BVTRPxPl9r4cEg,6
|
104
|
+
qulab-2.11.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|