QuLab 2.0.7__cp312-cp312-macosx_10_9_universal2.whl → 2.0.8__cp312-cp312-macosx_10_9_universal2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: QuLab
3
- Version: 2.0.7
3
+ Version: 2.0.8
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,7 +1,7 @@
1
1
  qulab/__init__.py,sha256=8zLGg-DfQhnDl2Ky0n-zXpN-8e-g7iR0AcaI4l4Vvpk,32
2
2
  qulab/__main__.py,sha256=eupSsrNVfnTFRpjgrY_knPvZIs0-Dk577LaN7qB15hI,487
3
- qulab/fun.cpython-312-darwin.so,sha256=zBA_DcklOtXOGkHLJQc2E1Uso6a8VW59zQlonZAwgJ4,159632
4
- qulab/version.py,sha256=Ch1foRTConPN5Ppjf6BSKYuXYy0kR0uQuUlG41WPUX4,21
3
+ qulab/fun.cpython-312-darwin.so,sha256=xoDZsZp7CTTtuVFQ5uzh_FsV-RBqzcQFg201_1kFNZ8,159632
4
+ qulab/version.py,sha256=DfI-RPnMF5c2VXIHTsOnE09mUWlPr23ZlXLyX4lCZxY,21
5
5
  qulab/monitor/__init__.py,sha256=nTHelnDpxRS_fl_B38TsN0njgq8eVTEz9IAnN3NbDlM,42
6
6
  qulab/monitor/__main__.py,sha256=w3yUcqq195LzSnXTkQcuC1RSFRhy4oQ_PEBmucXguME,97
7
7
  qulab/monitor/config.py,sha256=fQ5JcsMApKc1UwANEnIvbDQZl8uYW0tle92SaYtX9lI,744
@@ -19,7 +19,7 @@ qulab/scan/models.py,sha256=S8Q9hC8nOzxyoNB10EYg-miDKqoNMnjyAECjD-TuORw,17117
19
19
  qulab/scan/optimize.py,sha256=vErjRTCtn2MwMF5Xyhs1P4gHF2IFHv_EqxsUvH_4y7k,2287
20
20
  qulab/scan/query_record.py,sha256=BVkNgv3yfbMXX_Kguq18fvowKOBmBiiTvUwj_CqpiF4,11493
21
21
  qulab/scan/recorder.py,sha256=0GXayspGWs-qFs5PZz25aMwTrl9Y0P-me0QDNmBQTeQ,22163
22
- qulab/scan/scan.py,sha256=O0ydFJCSArvMIy8vG0WY0ltuVobxEQhH_H3BXh5YD2M,28072
22
+ qulab/scan/scan.py,sha256=FGqzU6mmbp2uE792HitG8ZBREE9gGVNz1nbp1AoBHQA,28418
23
23
  qulab/scan/server.py,sha256=W8z3vr0cqSSKWzIG6_b0d-lpBpDXGpHSwN6VJuv3w9U,2844
24
24
  qulab/scan/utils.py,sha256=n5yquKlz2QYMzciPgD9vkpBJVgzVzOqAlfvB4Qu6oOk,2551
25
25
  qulab/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -77,9 +77,9 @@ qulab/visualization/plot_layout.py,sha256=clNw9QjE_kVNpIIx2Ob4YhAz2fucPGMuzkoIrO
77
77
  qulab/visualization/plot_seq.py,sha256=lphYF4VhkEdc_wWr1kFBwrx2yujkyFPFaJ3pjr61awI,2693
78
78
  qulab/visualization/qdat.py,sha256=ZeevBYWkzbww4xZnsjHhw7wRorJCBzbG0iEu-XQB4EA,5735
79
79
  qulab/visualization/widgets.py,sha256=6KkiTyQ8J-ei70LbPQZAK35wjktY47w2IveOa682ftA,3180
80
- QuLab-2.0.7.dist-info/LICENSE,sha256=PRzIKxZtpQcH7whTG6Egvzl1A0BvnSf30tmR2X2KrpA,1065
81
- QuLab-2.0.7.dist-info/METADATA,sha256=Xollx0JHaE2VLGezPbnlSLegZCw6FaHGPdq2nVxrne0,3510
82
- QuLab-2.0.7.dist-info/WHEEL,sha256=aK27B_a3TQKBFhN_ATCfuFR4pBRqHlzwr7HpZ6iA79M,115
83
- QuLab-2.0.7.dist-info/entry_points.txt,sha256=ohBzutEnQimP_BZWiuXdSliu4QAYSHHcN0PZD8c7ZCY,46
84
- QuLab-2.0.7.dist-info/top_level.txt,sha256=3T886LbAsbvjonu_TDdmgxKYUn939BVTRPxPl9r4cEg,6
85
- QuLab-2.0.7.dist-info/RECORD,,
80
+ QuLab-2.0.8.dist-info/LICENSE,sha256=PRzIKxZtpQcH7whTG6Egvzl1A0BvnSf30tmR2X2KrpA,1065
81
+ QuLab-2.0.8.dist-info/METADATA,sha256=9WjXsA882EnQ23zQUzm6nl4KOsv7EOvI1S5DjzDlHW8,3510
82
+ QuLab-2.0.8.dist-info/WHEEL,sha256=aK27B_a3TQKBFhN_ATCfuFR4pBRqHlzwr7HpZ6iA79M,115
83
+ QuLab-2.0.8.dist-info/entry_points.txt,sha256=ohBzutEnQimP_BZWiuXdSliu4QAYSHHcN0PZD8c7ZCY,46
84
+ QuLab-2.0.8.dist-info/top_level.txt,sha256=3T886LbAsbvjonu_TDdmgxKYUn939BVTRPxPl9r4cEg,6
85
+ QuLab-2.0.8.dist-info/RECORD,,
Binary file
qulab/scan/scan.py CHANGED
@@ -437,13 +437,24 @@ class Scan():
437
437
  elif inspect.isawaitable(task):
438
438
  await task
439
439
 
440
- async def _run(self):
440
+ async def run(self):
441
441
  assymbly(self.description)
442
+ if isinstance(
443
+ self.description['database'],
444
+ str) and self.description['database'].startswith("tcp://"):
445
+ async with ZMQContextManager(
446
+ zmq.DEALER,
447
+ connect=self.description['database']) as socket:
448
+ self._sock = socket
449
+ await self._run()
450
+ else:
451
+ await self._run()
452
+
453
+ async def _run(self):
442
454
  task = asyncio.create_task(self._update_progress())
443
455
  self._task_pool.append(task)
444
456
  self._variables = {'self': self}
445
- await _update_variables(self._variables, self.description['consts'],
446
- self.description['setters'])
457
+ self._variables.update(self.description['consts'].copy())
447
458
  for level, total in self.description['total'].items():
448
459
  if total == np.inf:
449
460
  total = None
@@ -458,18 +469,8 @@ class Scan():
458
469
  self.variables[name])
459
470
  if inspect.isawaitable(coro):
460
471
  await coro
461
- if isinstance(
462
- self.description['database'],
463
- str) and self.description['database'].startswith("tcp://"):
464
- async with ZMQContextManager(
465
- zmq.DEALER,
466
- connect=self.description['database']) as socket:
467
- self._sock = socket
468
- self.record = await self.create_record()
469
- await self.work()
470
- else:
471
- self.record = await self.create_record()
472
- await self.work()
472
+ self.record = await self.create_record()
473
+ await self.work()
473
474
  for level, bar in self._bar.items():
474
475
  bar.close()
475
476
 
@@ -479,10 +480,15 @@ class Scan():
479
480
  evt.set()
480
481
  elif inspect.isawaitable(evt):
481
482
  await evt
482
- task.cancel()
483
483
  if self._single_step:
484
+ for group in self.description['order'].get(-1, []):
485
+ for name in group:
486
+ if name in self.description['getters']:
487
+ self.variables[name] = await call_function(
488
+ self.description['getters'][name], self.variables)
484
489
  await self.emit(0, 0, 0, self.variables.copy())
485
490
  await self.emit(-1, 0, 0, {})
491
+ task.cancel()
486
492
  return self.variables
487
493
 
488
494
  async def done(self):
@@ -497,7 +503,7 @@ class Scan():
497
503
 
498
504
  def start(self):
499
505
  import asyncio
500
- self._main_task = asyncio.create_task(self._run())
506
+ self._main_task = asyncio.create_task(self.run())
501
507
 
502
508
  async def submit(self, server='tcp://127.0.0.1:6788'):
503
509
  assymbly(self.description)
@@ -734,7 +740,10 @@ def assymbly(description):
734
740
 
735
741
  levels = {}
736
742
  passed = set()
737
- all_keys = set()
743
+ all_keys = set(description['consts'].keys())
744
+ for key in dependents:
745
+ all_keys.add(key)
746
+ all_keys.update(dependents[key])
738
747
  for level in reversed(description['loops'].keys()):
739
748
  tag = f'#__loop_{level}'
740
749
  for key, deps in full_depends.items():
qulab/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2.0.7"
1
+ __version__ = "2.0.8"
File without changes
File without changes