QuLab 2.0.4__tar.gz → 2.0.5__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 (94) hide show
  1. {qulab-2.0.4 → qulab-2.0.5}/PKG-INFO +1 -1
  2. {qulab-2.0.4 → qulab-2.0.5}/QuLab.egg-info/PKG-INFO +1 -1
  3. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/recorder.py +10 -0
  4. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/scan.py +9 -2
  5. qulab-2.0.5/qulab/version.py +1 -0
  6. qulab-2.0.4/qulab/version.py +0 -1
  7. {qulab-2.0.4 → qulab-2.0.5}/LICENSE +0 -0
  8. {qulab-2.0.4 → qulab-2.0.5}/MANIFEST.in +0 -0
  9. {qulab-2.0.4 → qulab-2.0.5}/QuLab.egg-info/SOURCES.txt +0 -0
  10. {qulab-2.0.4 → qulab-2.0.5}/QuLab.egg-info/dependency_links.txt +0 -0
  11. {qulab-2.0.4 → qulab-2.0.5}/QuLab.egg-info/entry_points.txt +0 -0
  12. {qulab-2.0.4 → qulab-2.0.5}/QuLab.egg-info/requires.txt +0 -0
  13. {qulab-2.0.4 → qulab-2.0.5}/QuLab.egg-info/top_level.txt +0 -0
  14. {qulab-2.0.4 → qulab-2.0.5}/README.md +0 -0
  15. {qulab-2.0.4 → qulab-2.0.5}/pyproject.toml +0 -0
  16. {qulab-2.0.4 → qulab-2.0.5}/qulab/__init__.py +0 -0
  17. {qulab-2.0.4 → qulab-2.0.5}/qulab/__main__.py +0 -0
  18. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/__init__.py +0 -0
  19. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/__main__.py +0 -0
  20. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/config.py +0 -0
  21. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/dataset.py +0 -0
  22. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/event_queue.py +0 -0
  23. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/mainwindow.py +0 -0
  24. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/monitor.py +0 -0
  25. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/ploter.py +0 -0
  26. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/qt_compat.py +0 -0
  27. {qulab-2.0.4 → qulab-2.0.5}/qulab/monitor/toolbar.py +0 -0
  28. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/__init__.py +0 -0
  29. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/curd.py +0 -0
  30. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/expression.py +0 -0
  31. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/models.py +0 -0
  32. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/optimize.py +0 -0
  33. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/query_record.py +0 -0
  34. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/server.py +0 -0
  35. {qulab-2.0.4 → qulab-2.0.5}/qulab/scan/utils.py +0 -0
  36. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/__init__.py +0 -0
  37. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/__main__.py +0 -0
  38. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/backend/__init__.py +0 -0
  39. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/backend/redis.py +0 -0
  40. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/base_dataset.py +0 -0
  41. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/chunk.py +0 -0
  42. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/dataset.py +0 -0
  43. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/file.py +0 -0
  44. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/__init__.py +0 -0
  45. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/base.py +0 -0
  46. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/config.py +0 -0
  47. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/file.py +0 -0
  48. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/ipy.py +0 -0
  49. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/models.py +0 -0
  50. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/record.py +0 -0
  51. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/report.py +0 -0
  52. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/models/tag.py +0 -0
  53. {qulab-2.0.4 → qulab-2.0.5}/qulab/storage/storage.py +0 -0
  54. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/__init__.py +0 -0
  55. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/chat.py +0 -0
  56. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/device/__init__.py +0 -0
  57. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/device/basedevice.py +0 -0
  58. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/device/loader.py +0 -0
  59. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/device/utils.py +0 -0
  60. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/drivers/FakeInstrument.py +0 -0
  61. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/drivers/__init__.py +0 -0
  62. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/ipy_events.py +0 -0
  63. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/net/__init__.py +0 -0
  64. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/net/bencoder.py +0 -0
  65. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/net/cli.py +0 -0
  66. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/net/dhcp.py +0 -0
  67. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/net/dhcpd.py +0 -0
  68. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/net/kad.py +0 -0
  69. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/net/kcp.py +0 -0
  70. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/net/nginx.py +0 -0
  71. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/progress.py +0 -0
  72. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/__init__.py +0 -0
  73. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/client.py +0 -0
  74. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/exceptions.py +0 -0
  75. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/msgpack.py +0 -0
  76. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/msgpack.pyi +0 -0
  77. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/rpc.py +0 -0
  78. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/serialize.py +0 -0
  79. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/server.py +0 -0
  80. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/socket.py +0 -0
  81. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/utils.py +0 -0
  82. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/worker.py +0 -0
  83. {qulab-2.0.4 → qulab-2.0.5}/qulab/sys/rpc/zmq_socket.py +0 -0
  84. {qulab-2.0.4 → qulab-2.0.5}/qulab/visualization/__init__.py +0 -0
  85. {qulab-2.0.4 → qulab-2.0.5}/qulab/visualization/__main__.py +0 -0
  86. {qulab-2.0.4 → qulab-2.0.5}/qulab/visualization/_autoplot.py +0 -0
  87. {qulab-2.0.4 → qulab-2.0.5}/qulab/visualization/plot_layout.py +0 -0
  88. {qulab-2.0.4 → qulab-2.0.5}/qulab/visualization/plot_seq.py +0 -0
  89. {qulab-2.0.4 → qulab-2.0.5}/qulab/visualization/qdat.py +0 -0
  90. {qulab-2.0.4 → qulab-2.0.5}/qulab/visualization/widgets.py +0 -0
  91. {qulab-2.0.4 → qulab-2.0.5}/setup.cfg +0 -0
  92. {qulab-2.0.4 → qulab-2.0.5}/setup.py +0 -0
  93. {qulab-2.0.4 → qulab-2.0.5}/src/qulab.h +0 -0
  94. {qulab-2.0.4 → qulab-2.0.5}/tests/test_scan.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: QuLab
3
- Version: 2.0.4
3
+ Version: 2.0.5
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.1
2
2
  Name: QuLab
3
- Version: 2.0.4
3
+ Version: 2.0.5
4
4
  Summary: contral instruments and manage data
5
5
  Author-email: feihoo87 <feihoo87@gmail.com>
6
6
  Maintainer-email: feihoo87 <feihoo87@gmail.com>
@@ -305,6 +305,16 @@ class Record():
305
305
  with open(self._file, 'wb') as f:
306
306
  dill.dump(self, f)
307
307
 
308
+ def __repr__(self):
309
+ return f"<Record: id={self.id} app={self.description['app']}, keys={self.keys()}>"
310
+
311
+ # def _repr_html_(self):
312
+ # return f"""
313
+ # <h3>Record: id={self.id}, app={self.description['app']}</h3>
314
+ # <p>keys={self.keys()}</p>
315
+ # <p>dims={self.dims}</p>
316
+ # """
317
+
308
318
 
309
319
  class Request():
310
320
  __slots__ = ['sock', 'identity', 'msg', 'method']
@@ -174,6 +174,7 @@ class Scan():
174
174
  tags: tuple[str] = (),
175
175
  database: str | Path
176
176
  | None = f'tcp://127.0.0.1:{default_record_port}',
177
+ dump_globals: bool = False,
177
178
  mixin=None):
178
179
  self.id = task_uuid()
179
180
  self.record = None
@@ -185,7 +186,7 @@ class Scan():
185
186
  'consts': {},
186
187
  'functions': {},
187
188
  'optimizers': {},
188
- 'namespace': {},
189
+ 'namespace': {} if dump_globals else None,
189
190
  'actions': {},
190
191
  'dependents': {},
191
192
  'order': {},
@@ -208,6 +209,7 @@ class Scan():
208
209
  self._hide_pattern_re = re.compile('|'.join(self.description['hiden']))
209
210
  self._task_queue = asyncio.Queue()
210
211
  self._task_pool = []
212
+ self._single_step = True
211
213
 
212
214
  def __del__(self):
213
215
  try:
@@ -448,6 +450,9 @@ class Scan():
448
450
  elif inspect.isawaitable(evt):
449
451
  await evt
450
452
  task.cancel()
453
+ if self._single_step:
454
+ await self.emit(0, 0, 0, self.variables.copy())
455
+ await self.emit(-1, 0, 0, {})
451
456
  return self.variables
452
457
 
453
458
  async def done(self):
@@ -504,6 +509,7 @@ class Scan():
504
509
  self._current_level += 1
505
510
  if await self._filter(variables, self.current_level - 1):
506
511
  yield variables
512
+ self._single_step = False
507
513
  asyncio.create_task(
508
514
  self.emit(self.current_level - 1, step, position,
509
515
  variables.copy()))
@@ -614,7 +620,8 @@ def assymbly(description):
614
620
  import __main__
615
621
  from IPython import get_ipython
616
622
 
617
- description['namespace'] = dump_globals()
623
+ if isinstance(description['namespace'], dict):
624
+ description['namespace'] = dump_globals()
618
625
 
619
626
  ipy = get_ipython()
620
627
  if ipy is not None:
@@ -0,0 +1 @@
1
+ __version__ = "2.0.5"
@@ -1 +0,0 @@
1
- __version__ = "2.0.4"
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