QuLab 2.11.9__py3-none-any.whl → 2.11.11__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/cli.py +5 -1
- 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.11.dist-info}/METADATA +2 -1
- {qulab-2.11.9.dist-info → qulab-2.11.11.dist-info}/RECORD +10 -10
- {qulab-2.11.9.dist-info → qulab-2.11.11.dist-info}/WHEEL +0 -0
- {qulab-2.11.9.dist-info → qulab-2.11.11.dist-info}/entry_points.txt +0 -0
- {qulab-2.11.9.dist-info → qulab-2.11.11.dist-info}/licenses/LICENSE +0 -0
- {qulab-2.11.9.dist-info → qulab-2.11.11.dist-info}/top_level.txt +0 -0
qulab/executor/cli.py
CHANGED
@@ -383,7 +383,11 @@ def parse_dynamic_option_value(value):
|
|
383
383
|
parsed_value.append(ast.literal_eval(item))
|
384
384
|
except (ValueError, SyntaxError):
|
385
385
|
parsed_value.append(item)
|
386
|
-
parsed_value
|
386
|
+
if len(parsed_value) > 1 and isinstance(
|
387
|
+
parsed_value[-1], str) and parsed_value[-1] == "":
|
388
|
+
parsed_value = tuple(parsed_value[:-1])
|
389
|
+
else:
|
390
|
+
parsed_value = tuple(parsed_value)
|
387
391
|
else:
|
388
392
|
parsed_value = value
|
389
393
|
return parsed_value
|
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.11"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: QuLab
|
3
|
-
Version: 2.11.
|
3
|
+
Version: 2.11.11
|
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,19 +2,19 @@ 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=BbiDgjrhCCQVmmYu1KTjTTAoObEBYn6LdT04B4Zgcdk,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
|
9
9
|
qulab/cli/decorators.py,sha256=oImteZVnDPPWdyhJ4kzf2KYGJLON7VsKGBvZadWLQZo,621
|
10
10
|
qulab/executor/__init__.py,sha256=LosPzOMaljSZY1thy_Fxtbrgq7uubJszMABEB7oM7tU,101
|
11
11
|
qulab/executor/analyze.py,sha256=VYTfiOYJe5gDbtGA4wOkrQhhu55iIrRVByx-gBLUUm4,5672
|
12
|
-
qulab/executor/cli.py,sha256=
|
12
|
+
qulab/executor/cli.py,sha256=fTB7V8xNCvpU8EMa__ysBvRCzruP-QFbXOyLpeTPx0E,25711
|
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.11.dist-info/licenses/LICENSE,sha256=PRzIKxZtpQcH7whTG6Egvzl1A0BvnSf30tmR2X2KrpA,1065
|
100
|
+
qulab-2.11.11.dist-info/METADATA,sha256=QYoRoSat2hKpt0wOZMKfsP23Djpd02sfM2DlGnlKuXA,3945
|
101
|
+
qulab-2.11.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
102
|
+
qulab-2.11.11.dist-info/entry_points.txt,sha256=b0v1GXOwmxY-nCCsPN_rHZZvY9CtTbWqrGj8u1m8yHo,45
|
103
|
+
qulab-2.11.11.dist-info/top_level.txt,sha256=3T886LbAsbvjonu_TDdmgxKYUn939BVTRPxPl9r4cEg,6
|
104
|
+
qulab-2.11.11.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|