QuLab 2.11.9__tar.gz → 2.11.10__tar.gz

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.
Files changed (114) hide show
  1. {qulab-2.11.9 → qulab-2.11.10}/PKG-INFO +2 -1
  2. {qulab-2.11.9 → qulab-2.11.10}/QuLab.egg-info/PKG-INFO +2 -1
  3. {qulab-2.11.9 → qulab-2.11.10}/QuLab.egg-info/requires.txt +1 -0
  4. {qulab-2.11.9 → qulab-2.11.10}/pyproject.toml +1 -0
  5. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/schedule.py +17 -6
  6. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/template.py +6 -1
  7. qulab-2.11.10/qulab/version.py +1 -0
  8. qulab-2.11.9/qulab/version.py +0 -1
  9. {qulab-2.11.9 → qulab-2.11.10}/LICENSE +0 -0
  10. {qulab-2.11.9 → qulab-2.11.10}/MANIFEST.in +0 -0
  11. {qulab-2.11.9 → qulab-2.11.10}/QuLab.egg-info/SOURCES.txt +0 -0
  12. {qulab-2.11.9 → qulab-2.11.10}/QuLab.egg-info/dependency_links.txt +0 -0
  13. {qulab-2.11.9 → qulab-2.11.10}/QuLab.egg-info/entry_points.txt +0 -0
  14. {qulab-2.11.9 → qulab-2.11.10}/QuLab.egg-info/top_level.txt +0 -0
  15. {qulab-2.11.9 → qulab-2.11.10}/README.md +0 -0
  16. {qulab-2.11.9 → qulab-2.11.10}/qulab/__init__.py +0 -0
  17. {qulab-2.11.9 → qulab-2.11.10}/qulab/__main__.py +0 -0
  18. {qulab-2.11.9 → qulab-2.11.10}/qulab/cli/__init__.py +0 -0
  19. {qulab-2.11.9 → qulab-2.11.10}/qulab/cli/commands.py +0 -0
  20. {qulab-2.11.9 → qulab-2.11.10}/qulab/cli/config.py +0 -0
  21. {qulab-2.11.9 → qulab-2.11.10}/qulab/cli/decorators.py +0 -0
  22. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/__init__.py +0 -0
  23. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/analyze.py +0 -0
  24. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/cli.py +0 -0
  25. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/load.py +0 -0
  26. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/registry.py +0 -0
  27. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/storage.py +0 -0
  28. {qulab-2.11.9 → qulab-2.11.10}/qulab/executor/utils.py +0 -0
  29. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/__init__.py +0 -0
  30. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/__main__.py +0 -0
  31. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/config.py +0 -0
  32. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/dataset.py +0 -0
  33. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/event_queue.py +0 -0
  34. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/mainwindow.py +0 -0
  35. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/monitor.py +0 -0
  36. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/ploter.py +0 -0
  37. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/qt_compat.py +0 -0
  38. {qulab-2.11.9 → qulab-2.11.10}/qulab/monitor/toolbar.py +0 -0
  39. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/__init__.py +0 -0
  40. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/curd.py +0 -0
  41. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/models.py +0 -0
  42. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/optimize.py +0 -0
  43. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/query.py +0 -0
  44. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/record.py +0 -0
  45. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/scan.py +0 -0
  46. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/server.py +0 -0
  47. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/space.py +0 -0
  48. {qulab-2.11.9 → qulab-2.11.10}/qulab/scan/utils.py +0 -0
  49. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/__init__.py +0 -0
  50. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/__main__.py +0 -0
  51. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/backend/__init__.py +0 -0
  52. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/backend/redis.py +0 -0
  53. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/base_dataset.py +0 -0
  54. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/chunk.py +0 -0
  55. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/dataset.py +0 -0
  56. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/file.py +0 -0
  57. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/__init__.py +0 -0
  58. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/base.py +0 -0
  59. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/config.py +0 -0
  60. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/file.py +0 -0
  61. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/ipy.py +0 -0
  62. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/models.py +0 -0
  63. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/record.py +0 -0
  64. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/report.py +0 -0
  65. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/models/tag.py +0 -0
  66. {qulab-2.11.9 → qulab-2.11.10}/qulab/storage/storage.py +0 -0
  67. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/__init__.py +0 -0
  68. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/chat.py +0 -0
  69. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/device/__init__.py +0 -0
  70. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/device/basedevice.py +0 -0
  71. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/device/loader.py +0 -0
  72. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/device/utils.py +0 -0
  73. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/drivers/FakeInstrument.py +0 -0
  74. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/drivers/__init__.py +0 -0
  75. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/ipy_events.py +0 -0
  76. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/net/__init__.py +0 -0
  77. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/net/bencoder.py +0 -0
  78. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/net/cli.py +0 -0
  79. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/net/dhcp.py +0 -0
  80. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/net/dhcpd.py +0 -0
  81. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/net/kad.py +0 -0
  82. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/net/kcp.py +0 -0
  83. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/net/nginx.py +0 -0
  84. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/progress.py +0 -0
  85. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/__init__.py +0 -0
  86. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/client.py +0 -0
  87. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/exceptions.py +0 -0
  88. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/msgpack.py +0 -0
  89. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/msgpack.pyi +0 -0
  90. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/router.py +0 -0
  91. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/rpc.py +0 -0
  92. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/serialize.py +0 -0
  93. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/server.py +0 -0
  94. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/socket.py +0 -0
  95. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/utils.py +0 -0
  96. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/worker.py +0 -0
  97. {qulab-2.11.9 → qulab-2.11.10}/qulab/sys/rpc/zmq_socket.py +0 -0
  98. {qulab-2.11.9 → qulab-2.11.10}/qulab/tools/__init__.py +0 -0
  99. {qulab-2.11.9 → qulab-2.11.10}/qulab/tools/connection_helper.py +0 -0
  100. {qulab-2.11.9 → qulab-2.11.10}/qulab/typing.py +0 -0
  101. {qulab-2.11.9 → qulab-2.11.10}/qulab/utils.py +0 -0
  102. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/__init__.py +0 -0
  103. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/__main__.py +0 -0
  104. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/_autoplot.py +0 -0
  105. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/plot_circ.py +0 -0
  106. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/plot_layout.py +0 -0
  107. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/plot_seq.py +0 -0
  108. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/qdat.py +0 -0
  109. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/rot3d.py +0 -0
  110. {qulab-2.11.9 → qulab-2.11.10}/qulab/visualization/widgets.py +0 -0
  111. {qulab-2.11.9 → qulab-2.11.10}/setup.cfg +0 -0
  112. {qulab-2.11.9 → qulab-2.11.10}/setup.py +0 -0
  113. {qulab-2.11.9 → qulab-2.11.10}/src/qulab.h +0 -0
  114. {qulab-2.11.9 → qulab-2.11.10}/tests/test_scan.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: QuLab
3
- Version: 2.11.9
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: QuLab
3
- Version: 2.11.9
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
 
@@ -24,4 +24,5 @@ waveforms>=1.9.4
24
24
  rich>=14.0.0
25
25
 
26
26
  [full]
27
+ paramiko>=3.5.1
27
28
  uvloop>=0.19.0
@@ -57,6 +57,7 @@ dynamic = ["version"]
57
57
 
58
58
  [project.optional-dependencies]
59
59
  full = [
60
+ "paramiko>=3.5.1",
60
61
  "uvloop>=0.19.0"
61
62
  ]
62
63
 
@@ -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):
@@ -0,0 +1 @@
1
+ __version__ = "2.11.10"
@@ -1 +0,0 @@
1
- __version__ = "2.11.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes