bec-widgets 0.74.0__py3-none-any.whl → 0.74.1__py3-none-any.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.
CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v0.74.1 (2024-06-26)
4
+
5
+ ### Build
6
+
7
+ * build: added missing pytest-bec-e2e dependency; closes #219 ([`56fdae4`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/56fdae42757bdb9fa301c1e425a77e98b6eaf92b))
8
+
9
+ * build: fixed dependency ranges; closes #135 ([`e6a06c9`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e6a06c9f43e0ad6bbfcfa550a2f580d2a27aff66))
10
+
11
+ ### Chore
12
+
13
+ * chore: sorted dependencies alphabetically ([`21c807f`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/21c807f35831fdd1ef2e488ab90edae4719f0cb7))
14
+
15
+ ### Documentation
16
+
17
+ * docs: fixed doc string ([`f979a63`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f979a63d3d1a008f80e500510909750878ff4303))
18
+
19
+ ### Fix
20
+
21
+ * fix(rings): rings properties updated right after setting ([`c8b7367`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c8b7367815b095f8e4aa8b819481efb701f2e542))
22
+
23
+ * fix(motor_map): motor map can be removed from BECFigure with .remove() ([`6b25abf`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/6b25abff70280271e2eeb70450553c05d4b7c99c))
24
+
25
+ ### Test
26
+
27
+ * test(bec_figure): tests for removing widgets with rpc e2e ([`a268caa`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a268caaa30711fcc7ece542d24578d74cbf65c77))
28
+
3
29
  ## v0.74.0 (2024-06-25)
4
30
 
5
31
  ### Documentation
@@ -116,34 +142,12 @@
116
142
 
117
143
  ## v0.70.0 (2024-06-21)
118
144
 
119
- ### Documentation
120
-
121
- * docs: fix typo in link ([`fdf11d8`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/fdf11d8147750e379af9b17792761a267b49ae53))
122
-
123
145
  ### Feature
124
146
 
125
147
  * feat(bec-designer): automatic plugin discovery ([`4639eee`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4639eee0b975ebd7a946e0e290449f5b88c372eb))
126
148
 
127
149
  * feat(device_line_edit): plugin added to bec-designer ([`b4b27ae`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b4b27aea3d8c08fa3d5d5514c69dbde32721d1dc))
128
150
 
129
- * feat(device_combobox): plugin added to bec-designer ([`e483b28`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e483b282db20a81182b87938ea172654092419b5))
130
-
131
- * feat: added entry point for bec-designer ([`36391db`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/36391db60735d57b371211791ddf8d3d00cebcf1))
132
-
133
- * feat(utils/bec-designer): added startup script to launched QtDesigner compatible with conda environments ([`5362334`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5362334ff3b07fc83653323a084a4b6946bade96))
134
-
135
151
  ### Fix
136
152
 
137
153
  * fix(bec-desiger+plugins): imports fixed, PYSIDE6 check to not enable run plugins with pyqt6 ([`50b3422`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/50b3422528d46d74317e8c903b6286e868ab7fe0))
138
-
139
- ## v0.69.0 (2024-06-21)
140
-
141
- ### Feature
142
-
143
- * feat(widgets): added vscode widget ([`48ae950`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/48ae950d57b454307ce409e2511f7b7adf3cfc6b))
144
-
145
- ### Fix
146
-
147
- * fix(generate_cli): fixed rpc generate for classes without user access; closes #226 ([`925c893`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/925c893f3ff4337fc8b4d237c8ffc19a597b0996))
148
-
149
- ## v0.68.0 (2024-06-21)
PKG-INFO CHANGED
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.74.0
3
+ Version: 0.74.1
4
4
  Summary: BEC Widgets
5
5
  Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec_widgets/issues
6
6
  Project-URL: Homepage, https://gitlab.psi.ch/bec/bec_widgets
@@ -9,26 +9,24 @@ Classifier: Development Status :: 3 - Alpha
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Topic :: Scientific/Engineering
11
11
  Requires-Python: >=3.10
12
- Requires-Dist: bec-ipython-client
13
- Requires-Dist: bec-lib
14
- Requires-Dist: black
15
- Requires-Dist: h5py
16
- Requires-Dist: isort
17
- Requires-Dist: jedi
18
- Requires-Dist: pydantic
19
- Requires-Dist: pyqtdarktheme
20
- Requires-Dist: pyqtgraph
21
- Requires-Dist: qtconsole
22
- Requires-Dist: qtpy
23
- Requires-Dist: zmq
12
+ Requires-Dist: bec-ipython-client~=2.16
13
+ Requires-Dist: bec-lib~=2.16
14
+ Requires-Dist: black~=24.0
15
+ Requires-Dist: isort>=5.13.2,~=5.13
16
+ Requires-Dist: pydantic~=2.0
17
+ Requires-Dist: pyqtdarktheme~=2.1
18
+ Requires-Dist: pyqtgraph~=0.13
19
+ Requires-Dist: qtconsole>=5.5.1,~=5.5
20
+ Requires-Dist: qtpy~=2.4
24
21
  Provides-Extra: dev
25
- Requires-Dist: coverage; extra == 'dev'
26
- Requires-Dist: fakeredis; extra == 'dev'
27
- Requires-Dist: pytest; extra == 'dev'
28
- Requires-Dist: pytest-qt; extra == 'dev'
29
- Requires-Dist: pytest-random-order; extra == 'dev'
30
- Requires-Dist: pytest-timeout; extra == 'dev'
31
- Requires-Dist: pytest-xvfb; extra == 'dev'
22
+ Requires-Dist: coverage~=7.0; extra == 'dev'
23
+ Requires-Dist: fakeredis>=2.23.2,~=2.23; extra == 'dev'
24
+ Requires-Dist: pytest-bec-e2e~=2.16; extra == 'dev'
25
+ Requires-Dist: pytest-qt~=4.4; extra == 'dev'
26
+ Requires-Dist: pytest-random-order~=1.1; extra == 'dev'
27
+ Requires-Dist: pytest-timeout~=2.2; extra == 'dev'
28
+ Requires-Dist: pytest-xvfb~=3.0; extra == 'dev'
29
+ Requires-Dist: pytest~=8.0; extra == 'dev'
32
30
  Provides-Extra: pyqt5
33
31
  Requires-Dist: pyqt5>=5.9; extra == 'pyqt5'
34
32
  Requires-Dist: pyqtwebengine>=5.9; extra == 'pyqt5'
bec_widgets/cli/client.py CHANGED
@@ -1206,6 +1206,13 @@ class BECImageShow(RPCBase):
1206
1206
 
1207
1207
 
1208
1208
  class BECMotorMap(RPCBase):
1209
+ @property
1210
+ @rpc_call
1211
+ def rpc_id(self) -> "str":
1212
+ """
1213
+ Get the RPC ID of the widget.
1214
+ """
1215
+
1209
1216
  @property
1210
1217
  @rpc_call
1211
1218
  def config_dict(self) -> "dict":
@@ -1289,6 +1296,12 @@ class BECMotorMap(RPCBase):
1289
1296
  dict: Data of the motor map.
1290
1297
  """
1291
1298
 
1299
+ @rpc_call
1300
+ def remove(self):
1301
+ """
1302
+ Remove the plot widget from the figure.
1303
+ """
1304
+
1292
1305
 
1293
1306
  class BECPlotBase(RPCBase):
1294
1307
  @property
@@ -21,12 +21,12 @@ if PYSIDE6:
21
21
  import bec_widgets
22
22
 
23
23
 
24
- def list_editable_packages() -> list[tuple[str, str]]:
24
+ def list_editable_packages() -> set[str]:
25
25
  """
26
26
  List all editable packages in the environment.
27
27
 
28
28
  Returns:
29
- list[tuple[str, str]]: A list of tuples containing the package name and the path to the package.
29
+ set: A set of paths to editable packages.
30
30
  """
31
31
 
32
32
  editable_packages = set()
@@ -36,6 +36,7 @@ class MotorMapConfig(SubplotConfig):
36
36
 
37
37
  class BECMotorMap(BECPlotBase):
38
38
  USER_ACCESS = [
39
+ "rpc_id",
39
40
  "config_dict",
40
41
  "change_motors",
41
42
  "set_max_points",
@@ -44,6 +45,7 @@ class BECMotorMap(BECPlotBase):
44
45
  "set_background_value",
45
46
  "set_scatter_size",
46
47
  "get_data",
48
+ "remove",
47
49
  ]
48
50
 
49
51
  # QT Signals
@@ -135,6 +135,7 @@ class Ring(BECConnector):
135
135
  float(max(self.config.min_value, min(self.config.max_value, value))),
136
136
  self.config.precision,
137
137
  )
138
+ self.parent_progress_widget.update()
138
139
 
139
140
  def set_color(self, color: str | tuple):
140
141
  """
@@ -145,6 +146,7 @@ class Ring(BECConnector):
145
146
  """
146
147
  self.config.color = color
147
148
  self.color = self.convert_color(color)
149
+ self.parent_progress_widget.update()
148
150
 
149
151
  def set_background(self, color: str | tuple):
150
152
  """
@@ -155,6 +157,7 @@ class Ring(BECConnector):
155
157
  """
156
158
  self.config.background_color = color
157
159
  self.color = self.convert_color(color)
160
+ self.parent_progress_widget.update()
158
161
 
159
162
  def set_line_width(self, width: int):
160
163
  """
@@ -164,6 +167,7 @@ class Ring(BECConnector):
164
167
  width(int): Line width for the ring widget
165
168
  """
166
169
  self.config.line_width = width
170
+ self.parent_progress_widget.update()
167
171
 
168
172
  def set_min_max_values(self, min_value: int | float, max_value: int | float):
169
173
  """
@@ -175,6 +179,7 @@ class Ring(BECConnector):
175
179
  """
176
180
  self.config.min_value = min_value
177
181
  self.config.max_value = max_value
182
+ self.parent_progress_widget.update()
178
183
 
179
184
  def set_start_angle(self, start_angle: int):
180
185
  """
@@ -185,6 +190,7 @@ class Ring(BECConnector):
185
190
  """
186
191
  self.config.start_position = start_angle
187
192
  self.start_position = start_angle * 16
193
+ self.parent_progress_widget.update()
188
194
 
189
195
  @staticmethod
190
196
  def convert_color(color):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.74.0
3
+ Version: 0.74.1
4
4
  Summary: BEC Widgets
5
5
  Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec_widgets/issues
6
6
  Project-URL: Homepage, https://gitlab.psi.ch/bec/bec_widgets
@@ -9,26 +9,24 @@ Classifier: Development Status :: 3 - Alpha
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Topic :: Scientific/Engineering
11
11
  Requires-Python: >=3.10
12
- Requires-Dist: bec-ipython-client
13
- Requires-Dist: bec-lib
14
- Requires-Dist: black
15
- Requires-Dist: h5py
16
- Requires-Dist: isort
17
- Requires-Dist: jedi
18
- Requires-Dist: pydantic
19
- Requires-Dist: pyqtdarktheme
20
- Requires-Dist: pyqtgraph
21
- Requires-Dist: qtconsole
22
- Requires-Dist: qtpy
23
- Requires-Dist: zmq
12
+ Requires-Dist: bec-ipython-client~=2.16
13
+ Requires-Dist: bec-lib~=2.16
14
+ Requires-Dist: black~=24.0
15
+ Requires-Dist: isort>=5.13.2,~=5.13
16
+ Requires-Dist: pydantic~=2.0
17
+ Requires-Dist: pyqtdarktheme~=2.1
18
+ Requires-Dist: pyqtgraph~=0.13
19
+ Requires-Dist: qtconsole>=5.5.1,~=5.5
20
+ Requires-Dist: qtpy~=2.4
24
21
  Provides-Extra: dev
25
- Requires-Dist: coverage; extra == 'dev'
26
- Requires-Dist: fakeredis; extra == 'dev'
27
- Requires-Dist: pytest; extra == 'dev'
28
- Requires-Dist: pytest-qt; extra == 'dev'
29
- Requires-Dist: pytest-random-order; extra == 'dev'
30
- Requires-Dist: pytest-timeout; extra == 'dev'
31
- Requires-Dist: pytest-xvfb; extra == 'dev'
22
+ Requires-Dist: coverage~=7.0; extra == 'dev'
23
+ Requires-Dist: fakeredis>=2.23.2,~=2.23; extra == 'dev'
24
+ Requires-Dist: pytest-bec-e2e~=2.16; extra == 'dev'
25
+ Requires-Dist: pytest-qt~=4.4; extra == 'dev'
26
+ Requires-Dist: pytest-random-order~=1.1; extra == 'dev'
27
+ Requires-Dist: pytest-timeout~=2.2; extra == 'dev'
28
+ Requires-Dist: pytest-xvfb~=3.0; extra == 'dev'
29
+ Requires-Dist: pytest~=8.0; extra == 'dev'
32
30
  Provides-Extra: pyqt5
33
31
  Requires-Dist: pyqt5>=5.9; extra == 'pyqt5'
34
32
  Requires-Dist: pyqtwebengine>=5.9; extra == 'pyqt5'
@@ -2,11 +2,11 @@
2
2
  .gitlab-ci.yml,sha256=RnYDz4zKXjlqltTryprlB1s5vLXxI2-seW-Vb70NNF0,8162
3
3
  .pylintrc,sha256=OstrgmEyP0smNFBKoIN5_26-UmNZgMHnbjvAWX0UrLs,18535
4
4
  .readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
5
- CHANGELOG.md,sha256=3OR7elUbZdoiPcldtqGY44VNZH4TSuz0svsMYCGuLUA,6941
5
+ CHANGELOG.md,sha256=aGvafXlmnzAG4Eu08nM3q6ule47giC-cjueEsIHpiWk,7057
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=plkqu38RzQ_wzukLGmT6Em8xZ2dnAFx-2GQHqzkfiBQ,1302
7
+ PKG-INFO,sha256=sxQGITcAB0UpR2bYuY2dUGxFuqeSHV8yiZw3FQHOg2U,1407
8
8
  README.md,sha256=y4jB6wvArS7N8_iTbKWnSM_oRAqLA2GqgzUR-FMh5sU,2645
9
- pyproject.toml,sha256=g7vJWYDj3s2pBA-9wQjQnACLoeiCC8Vv-GMnNT5t2H0,2215
9
+ pyproject.toml,sha256=ljABqddhgOWctRagAmk6CRg_pBS4bCGGfWXmRRkIktM,2344
10
10
  .git_hooks/pre-commit,sha256=n3RofIZHJl8zfJJIUomcMyYGFi_rwq4CC19z0snz3FI,286
11
11
  .gitlab/issue_templates/bug_report_template.md,sha256=gAuyEwl7XlnebBrkiJ9AqffSNOywmr8vygUFWKTuQeI,386
12
12
  .gitlab/issue_templates/documentation_update_template.md,sha256=FHLdb3TS_D9aL4CYZCjyXSulbaW5mrN2CmwTaeLPbNw,860
@@ -17,7 +17,7 @@ bec_widgets/assets/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3i
17
17
  bec_widgets/assets/terminal_icon.png,sha256=bJl7Tft4Fi2uxvuXI8o14uMHnI9eAWKSU2uftXCH9ws,3889
18
18
  bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
19
19
  bec_widgets/cli/auto_updates.py,sha256=DyBV3HnjMSH-cvVkYNcDiYKVf0Xut4Qy2qGQqkW47Bw,4833
20
- bec_widgets/cli/client.py,sha256=dXno8pOJ3sP6fAA_nEkAyX2XfJ75GUDVqAkHcYYxCjU,60979
20
+ bec_widgets/cli/client.py,sha256=ewhDGqzbP6iT-MPLMWs3fhZsj-RuO2Mm5bC2RvHEMMg,61210
21
21
  bec_widgets/cli/client_utils.py,sha256=zq1gPW7t4n9Nsn4MLkdUeKwwl-9nUcf5UjuN8lZr9iY,12281
22
22
  bec_widgets/cli/generate_cli.py,sha256=InKBVYM7DRfAVLNJhRJbWWSSPBQBHI8Ek6v7NCsK0ME,4997
23
23
  bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
@@ -39,7 +39,7 @@ bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py,sha256=BBt3MD8oDLU
39
39
  bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py,sha256=LNwplI6deUdKY6FOhUuWBanotxk9asF2G-6k7lFfA8Y,2301
40
40
  bec_widgets/utils/__init__.py,sha256=1930ji1Jj6dVuY81Wd2kYBhHYNV-2R0bN_L4o9zBj1U,533
41
41
  bec_widgets/utils/bec_connector.py,sha256=t59482Tu30eiQ2YNHJZFEE-wQFt4qf85OmBfPkl-3N4,7335
42
- bec_widgets/utils/bec_designer.py,sha256=2ay6c7dLozV06vsJcceoMRe78ePxQf_7pxnrEZjOrB8,4386
42
+ bec_widgets/utils/bec_designer.py,sha256=Q5qhdB7Jiw768dzlJ9bNxLrCbDKw4qNmhbO-9zLTVpw,4318
43
43
  bec_widgets/utils/bec_dispatcher.py,sha256=yM9PG04O7ABhiA9Nzk38Rv9Qbjc5O93wi2xfSbOlOxc,6202
44
44
  bec_widgets/utils/bec_table.py,sha256=nA2b8ukSeUfquFMAxGrUVOqdrzMoDYD6O_4EYbOG2zk,717
45
45
  bec_widgets/utils/colors.py,sha256=GYSDe0ZxsJSwxvuy-yG2BH17qlf_Sjq8dhDcyp9IhBI,8532
@@ -87,7 +87,7 @@ bec_widgets/widgets/figure/plots/image/image.py,sha256=1tZADgGQXDrFHS9CYsHD2r9Kz
87
87
  bec_widgets/widgets/figure/plots/image/image_item.py,sha256=Wnq6N6q4QwGHdZzZ_ibYzqoJk68FKU6WUCcYpINhZMU,10513
88
88
  bec_widgets/widgets/figure/plots/image/image_processor.py,sha256=GeTtWjbldy6VejMwPGQgM-o3d6bmLglCjdoktu19xfA,5262
89
89
  bec_widgets/widgets/figure/plots/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
- bec_widgets/widgets/figure/plots/motor_map/motor_map.py,sha256=Ff2WoNHxO_A3ggsbSd_AVUP1JeOWMuJs-0GLskxn-94,15267
90
+ bec_widgets/widgets/figure/plots/motor_map/motor_map.py,sha256=xFjAHXJg5AOm4XTLE0yWhsls1NnWOulIsx4aPip136k,15303
91
91
  bec_widgets/widgets/figure/plots/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  bec_widgets/widgets/figure/plots/waveform/waveform.py,sha256=j_Lb3ovxKzNKgssNTR9HJ-L4MP-SmesRcdyxIcbqnO0,29101
93
93
  bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=mSBzqQNpLhol1_2_9k7s2b-Y0ICGU242T39md0LxTSA,8291
@@ -108,7 +108,7 @@ bec_widgets/widgets/motor_control/selection/__init__.py,sha256=47DEQpj8HBSa-_TIm
108
108
  bec_widgets/widgets/motor_control/selection/selection.py,sha256=WNHndvv4JvxeAMnDFBMTvUILcn9u_0mWGRsgNiBZEsM,3988
109
109
  bec_widgets/widgets/motor_control/selection/selection.ui,sha256=vXXpvNWuL6xyHhW7Lx1zmVFX-95Z5AXGlhKQD2HmM1A,1779
110
110
  bec_widgets/widgets/ring_progress_bar/__init__.py,sha256=_uoJKnDM2YAeUBfwc5WLbIHSJj7zm_FAurSKP3WRaCw,47
111
- bec_widgets/widgets/ring_progress_bar/ring.py,sha256=Jh_FCIZ_jQYMvp_v_oxsh41uJ1vJpkAN8Y6nK777xxI,10968
111
+ bec_widgets/widgets/ring_progress_bar/ring.py,sha256=3XwvM5cymCxffOYEjaDTqfqpNLjEunHTyZCBxz0cvmc,11238
112
112
  bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py,sha256=jc-2VtFBASzA15M8S2ZNAvu0Z7RFp130jHz7HpLyIRs,24068
113
113
  bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
114
114
  bec_widgets/widgets/scan_control/scan_control.py,sha256=u2fjSUiSRYTkIq9WhdfQuQV6Sv3iWWcSfCraVGro1RQ,7686
@@ -173,7 +173,7 @@ tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
173
  tests/end-2-end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
174
  tests/end-2-end/conftest.py,sha256=-BLnFE-NeCerf6xahGCkbZ4Ktactowi6RkBnboIzRvg,1767
175
175
  tests/end-2-end/test_bec_dock_rpc_e2e.py,sha256=59nrcbEB0NK7ttXdOizN9kjUaqhMImVGaf4aciT4Jcs,9099
176
- tests/end-2-end/test_bec_figure_rpc_e2e.py,sha256=rAVA7aLP7dhQNK_BQK9wD-1whhy-MIyeIgknY5xwSAU,5980
176
+ tests/end-2-end/test_bec_figure_rpc_e2e.py,sha256=QJl1-b8QRRIjnj6nd2yH0EivK6dt4gqrF0U9E4weHz4,6594
177
177
  tests/end-2-end/test_rpc_register_e2e.py,sha256=3dfCnSvdcRO92pzHt9WlCTK0vzTKAvPtliEoEKrtuzQ,1604
178
178
  tests/end-2-end/test_scan_control_e2e.py,sha256=u7oLgFyltkMW2apSZKDukMIXvYrbhHrU32p4mBdn8VE,2276
179
179
  tests/unit_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -212,8 +212,8 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
212
212
  tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
213
213
  tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
214
  tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
215
- bec_widgets-0.74.0.dist-info/METADATA,sha256=plkqu38RzQ_wzukLGmT6Em8xZ2dnAFx-2GQHqzkfiBQ,1302
216
- bec_widgets-0.74.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
217
- bec_widgets-0.74.0.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
218
- bec_widgets-0.74.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
219
- bec_widgets-0.74.0.dist-info/RECORD,,
215
+ bec_widgets-0.74.1.dist-info/METADATA,sha256=sxQGITcAB0UpR2bYuY2dUGxFuqeSHV8yiZw3FQHOg2U,1407
216
+ bec_widgets-0.74.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
217
+ bec_widgets-0.74.1.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
218
+ bec_widgets-0.74.1.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
219
+ bec_widgets-0.74.1.dist-info/RECORD,,
pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "0.74.0"
7
+ version = "0.74.1"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -13,30 +13,28 @@ classifiers = [
13
13
  "Topic :: Scientific/Engineering",
14
14
  ]
15
15
  dependencies = [
16
- "pydantic",
17
- "qtconsole",
18
- "jedi",
19
- "qtpy",
20
- "pyqtgraph",
21
- "bec_lib",
22
- "bec_ipython_client", # needed for jupyter widget
23
- "zmq",
24
- "h5py",
25
- "pyqtdarktheme",
26
- "black", # needed for bw-generate-cli
27
- "isort", # needed for bw-generate-cli
16
+ "bec_ipython_client~=2.16", # needed for jupyter console
17
+ "bec_lib~=2.16",
18
+ "black~=24.0", # needed for bw-generate-cli
19
+ "isort~=5.13, >=5.13.2", # needed for bw-generate-cli
20
+ "pydantic~=2.0",
21
+ "pyqtgraph~=0.13",
22
+ "pyqtdarktheme~=2.1",
23
+ "qtconsole~=5.5, >=5.5.1", # needed for jupyter console
24
+ "qtpy~=2.4",
28
25
  ]
29
26
 
30
27
 
31
28
  [project.optional-dependencies]
32
29
  dev = [
33
- "pytest",
34
- "pytest-random-order",
35
- "pytest-timeout",
36
- "pytest-xvfb",
37
- "coverage",
38
- "pytest-qt",
39
- "fakeredis",
30
+ "coverage~=7.0",
31
+ "fakeredis~=2.23, >=2.23.2",
32
+ "pytest-bec-e2e~=2.16",
33
+ "pytest-qt~=4.4",
34
+ "pytest-random-order~=1.1",
35
+ "pytest-timeout~=2.2",
36
+ "pytest-xvfb~=3.0",
37
+ "pytest~=8.0",
40
38
  ]
41
39
  pyqt5 = ["PyQt5>=5.9", "PyQtWebEngine>=5.9"]
42
40
  pyqt6 = ["PyQt6>=6.7", "PyQt6-WebEngine>=6.7"]
@@ -185,3 +185,26 @@ def test_dap_rpc(rpc_server_figure, bec_client_lib):
185
185
  print(fit_params)
186
186
 
187
187
  assert np.isclose(fit_params["center"], 5, atol=0.5)
188
+
189
+
190
+ def test_removing_subplots(rpc_server_figure, bec_client_lib):
191
+ fig = BECFigure(rpc_server_figure)
192
+ plt = fig.plot(x_name="samx", y_name="bpm4i", dap="GaussianModel")
193
+ im = fig.image(monitor="eiger")
194
+ mm = fig.motor_map(motor_x="samx", motor_y="samy")
195
+
196
+ assert len(fig.widget_list) == 3
197
+
198
+ # removing curves
199
+ assert len(plt.curves) == 2
200
+ plt.curves[0].remove()
201
+ assert len(plt.curves) == 1
202
+ plt.remove_curve("bpm4i-bpm4i")
203
+ assert len(plt.curves) == 0
204
+
205
+ # removing all subplots from figure
206
+ plt.remove()
207
+ im.remove()
208
+ mm.remove()
209
+
210
+ assert len(fig.widget_list) == 0