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 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 = tuple(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
@@ -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, check=False):
131
- if hasattr(node, 'plot') and callable(node.plot):
132
- if inspect.iscoroutinefunction(node.plot):
133
- await node.plot(report, check=check)
134
- else:
135
- node.plot(report)
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,
@@ -12,7 +12,12 @@ _notset = object()
12
12
 
13
13
 
14
14
  def VAR(name: str, /, *, default: Any = _notset) -> Any:
15
- return name
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.9"
1
+ __version__ = "2.11.11"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: QuLab
3
- Version: 2.11.9
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=sjoWN8wCAraTPsWtl1S7gqqQ0NexRJIu0pDXNShrgWg,22
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=cMhx_oOWsvYWRi3XyaDbNKQ8B3o7nMZ-D3Eic9WJ-Bk,25505
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=7gAJFwj13j1niGjVa1fSzwOS22eNFEN1hdrN3dfTY6A,21410
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=_HEtsUQ5_jSujCw8FBDAK1PRTMRCa4iD4DduHIpjo3c,10569
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.9.dist-info/licenses/LICENSE,sha256=PRzIKxZtpQcH7whTG6Egvzl1A0BvnSf30tmR2X2KrpA,1065
100
- qulab-2.11.9.dist-info/METADATA,sha256=fHUeOy12D4bt4h2nUU6bwWwpCFMUw6anmzsY5VqOxkQ,3896
101
- qulab-2.11.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
102
- qulab-2.11.9.dist-info/entry_points.txt,sha256=b0v1GXOwmxY-nCCsPN_rHZZvY9CtTbWqrGj8u1m8yHo,45
103
- qulab-2.11.9.dist-info/top_level.txt,sha256=3T886LbAsbvjonu_TDdmgxKYUn939BVTRPxPl9r4cEg,6
104
- qulab-2.11.9.dist-info/RECORD,,
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,,