QuLab 2.4.16__tar.gz → 2.4.17__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 (109) hide show
  1. {qulab-2.4.16 → qulab-2.4.17}/PKG-INFO +1 -1
  2. {qulab-2.4.16 → qulab-2.4.17}/QuLab.egg-info/PKG-INFO +1 -1
  3. {qulab-2.4.16 → qulab-2.4.17}/qulab/executor/cli.py +9 -0
  4. {qulab-2.4.16 → qulab-2.4.17}/qulab/executor/load.py +6 -2
  5. {qulab-2.4.16 → qulab-2.4.17}/qulab/executor/utils.py +2 -2
  6. qulab-2.4.17/qulab/version.py +1 -0
  7. qulab-2.4.16/qulab/version.py +0 -1
  8. {qulab-2.4.16 → qulab-2.4.17}/LICENSE +0 -0
  9. {qulab-2.4.16 → qulab-2.4.17}/MANIFEST.in +0 -0
  10. {qulab-2.4.16 → qulab-2.4.17}/QuLab.egg-info/SOURCES.txt +0 -0
  11. {qulab-2.4.16 → qulab-2.4.17}/QuLab.egg-info/dependency_links.txt +0 -0
  12. {qulab-2.4.16 → qulab-2.4.17}/QuLab.egg-info/entry_points.txt +0 -0
  13. {qulab-2.4.16 → qulab-2.4.17}/QuLab.egg-info/requires.txt +0 -0
  14. {qulab-2.4.16 → qulab-2.4.17}/QuLab.egg-info/top_level.txt +0 -0
  15. {qulab-2.4.16 → qulab-2.4.17}/README.md +0 -0
  16. {qulab-2.4.16 → qulab-2.4.17}/pyproject.toml +0 -0
  17. {qulab-2.4.16 → qulab-2.4.17}/qulab/__init__.py +0 -0
  18. {qulab-2.4.16 → qulab-2.4.17}/qulab/__main__.py +0 -0
  19. {qulab-2.4.16 → qulab-2.4.17}/qulab/cli/__init__.py +0 -0
  20. {qulab-2.4.16 → qulab-2.4.17}/qulab/cli/config.py +0 -0
  21. {qulab-2.4.16 → qulab-2.4.17}/qulab/dicttree.py +0 -0
  22. {qulab-2.4.16 → qulab-2.4.17}/qulab/executor/__init__.py +0 -0
  23. {qulab-2.4.16 → qulab-2.4.17}/qulab/executor/schedule.py +0 -0
  24. {qulab-2.4.16 → qulab-2.4.17}/qulab/executor/storage.py +0 -0
  25. {qulab-2.4.16 → qulab-2.4.17}/qulab/executor/transform.py +0 -0
  26. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/__init__.py +0 -0
  27. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/__main__.py +0 -0
  28. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/config.py +0 -0
  29. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/dataset.py +0 -0
  30. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/event_queue.py +0 -0
  31. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/mainwindow.py +0 -0
  32. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/monitor.py +0 -0
  33. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/ploter.py +0 -0
  34. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/qt_compat.py +0 -0
  35. {qulab-2.4.16 → qulab-2.4.17}/qulab/monitor/toolbar.py +0 -0
  36. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/__init__.py +0 -0
  37. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/curd.py +0 -0
  38. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/expression.py +0 -0
  39. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/models.py +0 -0
  40. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/optimize.py +0 -0
  41. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/query.py +0 -0
  42. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/record.py +0 -0
  43. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/scan.py +0 -0
  44. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/server.py +0 -0
  45. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/space.py +0 -0
  46. {qulab-2.4.16 → qulab-2.4.17}/qulab/scan/utils.py +0 -0
  47. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/__init__.py +0 -0
  48. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/__main__.py +0 -0
  49. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/backend/__init__.py +0 -0
  50. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/backend/redis.py +0 -0
  51. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/base_dataset.py +0 -0
  52. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/chunk.py +0 -0
  53. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/dataset.py +0 -0
  54. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/file.py +0 -0
  55. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/__init__.py +0 -0
  56. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/base.py +0 -0
  57. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/config.py +0 -0
  58. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/file.py +0 -0
  59. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/ipy.py +0 -0
  60. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/models.py +0 -0
  61. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/record.py +0 -0
  62. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/report.py +0 -0
  63. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/models/tag.py +0 -0
  64. {qulab-2.4.16 → qulab-2.4.17}/qulab/storage/storage.py +0 -0
  65. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/__init__.py +0 -0
  66. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/chat.py +0 -0
  67. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/device/__init__.py +0 -0
  68. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/device/basedevice.py +0 -0
  69. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/device/loader.py +0 -0
  70. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/device/utils.py +0 -0
  71. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/drivers/FakeInstrument.py +0 -0
  72. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/drivers/__init__.py +0 -0
  73. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/ipy_events.py +0 -0
  74. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/net/__init__.py +0 -0
  75. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/net/bencoder.py +0 -0
  76. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/net/cli.py +0 -0
  77. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/net/dhcp.py +0 -0
  78. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/net/dhcpd.py +0 -0
  79. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/net/kad.py +0 -0
  80. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/net/kcp.py +0 -0
  81. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/net/nginx.py +0 -0
  82. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/progress.py +0 -0
  83. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/__init__.py +0 -0
  84. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/client.py +0 -0
  85. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/exceptions.py +0 -0
  86. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/msgpack.py +0 -0
  87. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/msgpack.pyi +0 -0
  88. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/router.py +0 -0
  89. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/rpc.py +0 -0
  90. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/serialize.py +0 -0
  91. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/server.py +0 -0
  92. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/socket.py +0 -0
  93. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/utils.py +0 -0
  94. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/worker.py +0 -0
  95. {qulab-2.4.16 → qulab-2.4.17}/qulab/sys/rpc/zmq_socket.py +0 -0
  96. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/__init__.py +0 -0
  97. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/__main__.py +0 -0
  98. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/_autoplot.py +0 -0
  99. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/plot_circ.py +0 -0
  100. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/plot_layout.py +0 -0
  101. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/plot_seq.py +0 -0
  102. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/qdat.py +0 -0
  103. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/rot3d.py +0 -0
  104. {qulab-2.4.16 → qulab-2.4.17}/qulab/visualization/widgets.py +0 -0
  105. {qulab-2.4.16 → qulab-2.4.17}/setup.cfg +0 -0
  106. {qulab-2.4.16 → qulab-2.4.17}/setup.py +0 -0
  107. {qulab-2.4.16 → qulab-2.4.17}/src/qulab.h +0 -0
  108. {qulab-2.4.16 → qulab-2.4.17}/tests/test_kad.py +0 -0
  109. {qulab-2.4.16 → qulab-2.4.17}/tests/test_scan.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: QuLab
3
- Version: 2.4.16
3
+ Version: 2.4.17
4
4
  Summary: contral instruments and manage data
5
5
  Author-email: feihoo87 <feihoo87@gmail.com>
6
6
  Maintainer-email: feihoo87 <feihoo87@gmail.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: QuLab
3
- Version: 2.4.16
3
+ Version: 2.4.17
4
4
  Summary: contral instruments and manage data
5
5
  Author-email: feihoo87 <feihoo87@gmail.com>
6
6
  Maintainer-email: feihoo87 <feihoo87@gmail.com>
@@ -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)
@@ -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()[0]
330
+ for n in workflow.depends()
327
331
  ]
328
332
 
329
333
 
@@ -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()[0]:
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 [{deps!r}]
46
+ return {deps!r}
47
47
 
48
48
 
49
49
  def calibrate():
@@ -0,0 +1 @@
1
+ __version__ = "2.4.17"
@@ -1 +0,0 @@
1
- __version__ = "2.4.16"
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes