QuLab 2.11.0__tar.gz → 2.11.1__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 (115) hide show
  1. {qulab-2.11.0 → qulab-2.11.1}/PKG-INFO +1 -1
  2. {qulab-2.11.0 → qulab-2.11.1}/QuLab.egg-info/PKG-INFO +1 -1
  3. {qulab-2.11.0 → qulab-2.11.1}/qulab/cli/commands.py +12 -3
  4. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/cli.py +77 -0
  5. qulab-2.11.1/qulab/version.py +1 -0
  6. qulab-2.11.0/qulab/version.py +0 -1
  7. {qulab-2.11.0 → qulab-2.11.1}/LICENSE +0 -0
  8. {qulab-2.11.0 → qulab-2.11.1}/MANIFEST.in +0 -0
  9. {qulab-2.11.0 → qulab-2.11.1}/QuLab.egg-info/SOURCES.txt +0 -0
  10. {qulab-2.11.0 → qulab-2.11.1}/QuLab.egg-info/dependency_links.txt +0 -0
  11. {qulab-2.11.0 → qulab-2.11.1}/QuLab.egg-info/entry_points.txt +0 -0
  12. {qulab-2.11.0 → qulab-2.11.1}/QuLab.egg-info/requires.txt +0 -0
  13. {qulab-2.11.0 → qulab-2.11.1}/QuLab.egg-info/top_level.txt +0 -0
  14. {qulab-2.11.0 → qulab-2.11.1}/README.md +0 -0
  15. {qulab-2.11.0 → qulab-2.11.1}/pyproject.toml +0 -0
  16. {qulab-2.11.0 → qulab-2.11.1}/qulab/__init__.py +0 -0
  17. {qulab-2.11.0 → qulab-2.11.1}/qulab/__main__.py +0 -0
  18. {qulab-2.11.0 → qulab-2.11.1}/qulab/cli/__init__.py +0 -0
  19. {qulab-2.11.0 → qulab-2.11.1}/qulab/cli/config.py +0 -0
  20. {qulab-2.11.0 → qulab-2.11.1}/qulab/cli/decorators.py +0 -0
  21. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/__init__.py +0 -0
  22. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/analyze.py +0 -0
  23. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/load.py +0 -0
  24. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/registry.py +0 -0
  25. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/schedule.py +0 -0
  26. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/storage.py +0 -0
  27. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/template.py +0 -0
  28. {qulab-2.11.0 → qulab-2.11.1}/qulab/executor/utils.py +0 -0
  29. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/__init__.py +0 -0
  30. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/__main__.py +0 -0
  31. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/config.py +0 -0
  32. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/dataset.py +0 -0
  33. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/event_queue.py +0 -0
  34. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/mainwindow.py +0 -0
  35. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/monitor.py +0 -0
  36. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/ploter.py +0 -0
  37. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/qt_compat.py +0 -0
  38. {qulab-2.11.0 → qulab-2.11.1}/qulab/monitor/toolbar.py +0 -0
  39. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/__init__.py +0 -0
  40. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/curd.py +0 -0
  41. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/models.py +0 -0
  42. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/optimize.py +0 -0
  43. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/query.py +0 -0
  44. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/record.py +0 -0
  45. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/scan.py +0 -0
  46. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/server.py +0 -0
  47. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/space.py +0 -0
  48. {qulab-2.11.0 → qulab-2.11.1}/qulab/scan/utils.py +0 -0
  49. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/__init__.py +0 -0
  50. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/__main__.py +0 -0
  51. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/backend/__init__.py +0 -0
  52. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/backend/redis.py +0 -0
  53. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/base_dataset.py +0 -0
  54. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/chunk.py +0 -0
  55. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/dataset.py +0 -0
  56. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/file.py +0 -0
  57. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/__init__.py +0 -0
  58. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/base.py +0 -0
  59. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/config.py +0 -0
  60. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/file.py +0 -0
  61. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/ipy.py +0 -0
  62. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/models.py +0 -0
  63. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/record.py +0 -0
  64. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/report.py +0 -0
  65. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/models/tag.py +0 -0
  66. {qulab-2.11.0 → qulab-2.11.1}/qulab/storage/storage.py +0 -0
  67. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/__init__.py +0 -0
  68. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/chat.py +0 -0
  69. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/device/__init__.py +0 -0
  70. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/device/basedevice.py +0 -0
  71. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/device/loader.py +0 -0
  72. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/device/utils.py +0 -0
  73. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/drivers/FakeInstrument.py +0 -0
  74. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/drivers/__init__.py +0 -0
  75. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/ipy_events.py +0 -0
  76. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/net/__init__.py +0 -0
  77. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/net/bencoder.py +0 -0
  78. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/net/cli.py +0 -0
  79. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/net/dhcp.py +0 -0
  80. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/net/dhcpd.py +0 -0
  81. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/net/kad.py +0 -0
  82. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/net/kcp.py +0 -0
  83. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/net/nginx.py +0 -0
  84. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/progress.py +0 -0
  85. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/__init__.py +0 -0
  86. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/client.py +0 -0
  87. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/exceptions.py +0 -0
  88. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/msgpack.py +0 -0
  89. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/msgpack.pyi +0 -0
  90. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/router.py +0 -0
  91. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/rpc.py +0 -0
  92. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/serialize.py +0 -0
  93. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/server.py +0 -0
  94. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/socket.py +0 -0
  95. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/utils.py +0 -0
  96. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/worker.py +0 -0
  97. {qulab-2.11.0 → qulab-2.11.1}/qulab/sys/rpc/zmq_socket.py +0 -0
  98. {qulab-2.11.0 → qulab-2.11.1}/qulab/tools/__init__.py +0 -0
  99. {qulab-2.11.0 → qulab-2.11.1}/qulab/tools/connection_helper.py +0 -0
  100. {qulab-2.11.0 → qulab-2.11.1}/qulab/typing.py +0 -0
  101. {qulab-2.11.0 → qulab-2.11.1}/qulab/utils.py +0 -0
  102. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/__init__.py +0 -0
  103. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/__main__.py +0 -0
  104. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/_autoplot.py +0 -0
  105. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/plot_circ.py +0 -0
  106. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/plot_layout.py +0 -0
  107. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/plot_seq.py +0 -0
  108. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/qdat.py +0 -0
  109. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/rot3d.py +0 -0
  110. {qulab-2.11.0 → qulab-2.11.1}/qulab/visualization/widgets.py +0 -0
  111. {qulab-2.11.0 → qulab-2.11.1}/setup.cfg +0 -0
  112. {qulab-2.11.0 → qulab-2.11.1}/setup.py +0 -0
  113. {qulab-2.11.0 → qulab-2.11.1}/src/qulab.h +0 -0
  114. {qulab-2.11.0 → qulab-2.11.1}/tests/test_kad.py +0 -0
  115. {qulab-2.11.0 → qulab-2.11.1}/tests/test_scan.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: QuLab
3
- Version: 2.11.0
3
+ Version: 2.11.1
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.4
2
2
  Name: QuLab
3
- Version: 2.11.0
3
+ Version: 2.11.1
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,7 @@
1
1
  import click
2
2
 
3
- from ..executor.cli import boot, create, get, maintain, reproduce, run, set
3
+ from ..executor.cli import (boot, create, export, get, load, maintain,
4
+ reproduce, run, set)
4
5
  from ..monitor.__main__ import main as monitor
5
6
  from ..scan.server import server
6
7
  from ..sys.net.cli import dht
@@ -18,6 +19,12 @@ def hello():
18
19
  click.echo('hello, world')
19
20
 
20
21
 
22
+ @cli.group()
23
+ def reg():
24
+ """Regestry operations."""
25
+ pass
26
+
27
+
21
28
  cli.add_command(monitor)
22
29
  cli.add_command(plot)
23
30
  cli.add_command(dht)
@@ -26,6 +33,8 @@ cli.add_command(maintain)
26
33
  cli.add_command(run)
27
34
  cli.add_command(reproduce)
28
35
  cli.add_command(create)
29
- cli.add_command(set)
30
- cli.add_command(get)
36
+ reg.add_command(set)
37
+ reg.add_command(get)
38
+ reg.add_command(load)
39
+ reg.add_command(export)
31
40
  cli.add_command(boot)
@@ -163,6 +163,83 @@ def get(key, api):
163
163
  click.echo(reg.get(key))
164
164
 
165
165
 
166
+ @click.command()
167
+ @click.argument('file')
168
+ @click.option('--api',
169
+ '-a',
170
+ default=lambda: get_config_value("api", str, 'get'),
171
+ help='The modlule name of the api.')
172
+ @click.option('--format',
173
+ '-f',
174
+ default='json',
175
+ help='The format of the config.')
176
+ @log_options('export')
177
+ def export(file, api, format):
178
+ """
179
+ Export a config.
180
+ """
181
+ logger.info(f'[CMD]: export {file} --api {api}')
182
+ reg = Registry()
183
+ if api is not None:
184
+ api = importlib.import_module(api)
185
+ set_config_api(api.query_config, api.update_config, api.delete_config,
186
+ api.export_config, api.clear_config)
187
+ cfg = reg.export()
188
+ if format == 'json':
189
+ import json
190
+ with open(file, 'w') as f:
191
+ json.dump(cfg, f, indent=4)
192
+ elif format == 'yaml':
193
+ import yaml
194
+ with open(file, 'w') as f:
195
+ yaml.dump(cfg, f)
196
+ elif format == 'pickle':
197
+ import pickle
198
+ with open(file, 'wb') as f:
199
+ pickle.dump(cfg, f)
200
+ else:
201
+ raise ValueError(f'Unknown format: {format}')
202
+
203
+
204
+ @click.command()
205
+ @click.argument('file')
206
+ @click.option('--api',
207
+ '-a',
208
+ default=lambda: get_config_value("api", str, 'get'),
209
+ help='The modlule name of the api.')
210
+ @click.option('--format',
211
+ '-f',
212
+ default='json',
213
+ help='The format of the config.')
214
+ @log_options('load')
215
+ def load(file, api, format):
216
+ """
217
+ Load a config.
218
+ """
219
+ logger.info(f'[CMD]: load {file} --api {api}')
220
+ reg = Registry()
221
+ if api is not None:
222
+ api = importlib.import_module(api)
223
+ set_config_api(api.query_config, api.update_config, api.delete_config,
224
+ api.export_config, api.clear_config)
225
+ if format == 'json':
226
+ import json
227
+ with open(file, 'r') as f:
228
+ cfg = json.load(f)
229
+ elif format == 'yaml':
230
+ import yaml
231
+ with open(file, 'r') as f:
232
+ cfg = yaml.load(f, Loader=yaml.FullLoader)
233
+ elif format == 'pickle':
234
+ import pickle
235
+ with open(file, 'rb') as f:
236
+ cfg = pickle.load(f)
237
+ else:
238
+ raise ValueError(f'Unknown format: {format}')
239
+ reg.clear()
240
+ reg.update(cfg)
241
+
242
+
166
243
  @click.command()
167
244
  @click.option('--bootstrap',
168
245
  '-b',
@@ -0,0 +1 @@
1
+ __version__ = "2.11.1"
@@ -1 +0,0 @@
1
- __version__ = "2.11.0"
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
File without changes
File without changes
File without changes
File without changes
File without changes