mwxlib 0.96.4__py3-none-any.whl → 0.96.5__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.

Potentially problematic release.


This version of mwxlib might be problematic. Click here for more details.

mwx/controls.py CHANGED
@@ -16,11 +16,6 @@ import numpy as np
16
16
  from numpy import nan, inf # noqa: necessary to eval
17
17
 
18
18
 
19
- def _Tip(*tips):
20
- """Concatenate tips with newline char."""
21
- return '\n'.join(filter(None, tips)).strip()
22
-
23
-
24
19
  class Param(object):
25
20
  """Standard Parameter
26
21
 
@@ -44,7 +39,7 @@ class Param(object):
44
39
  - underflow -> when value underflows
45
40
  """
46
41
  def __init__(self, name, range=None, value=None, fmt=None,
47
- handler=None, updater=None, tip=None):
42
+ handler=None, updater=None):
48
43
  self.knobs = []
49
44
  self.name = name
50
45
  self.range = range
@@ -66,7 +61,9 @@ class Param(object):
66
61
  'overflow' : [],
67
62
  'underflow' : [],
68
63
  })
69
- self._tooltip = _Tip(tip, handler.__doc__, updater.__doc__)
64
+ ## Concatenate tips with newline char.
65
+ tips = (handler.__doc__, updater.__doc__)
66
+ self._tooltip = '\n'.join(filter(None, tips)).strip()
70
67
 
71
68
  def __str__(self, v=None):
72
69
  v = self.value if v is None else v
@@ -1000,15 +997,14 @@ class Button(pb.PlateButton):
1000
997
  self.SetBitmap(_Icon(v))
1001
998
  self.Refresh()
1002
999
 
1003
- def __init__(self, parent, label='',
1004
- handler=None, icon=None, tip='', **kwargs):
1000
+ def __init__(self, parent, label='', handler=None, icon=None, **kwargs):
1005
1001
  kwargs.setdefault('style', pb.PB_STYLE_DEFAULT | pb.PB_STYLE_SQUARE)
1006
1002
  pb.PlateButton.__init__(self, parent, -1, label, **kwargs)
1007
1003
 
1008
1004
  if handler:
1009
1005
  self.Bind(wx.EVT_BUTTON, _F(handler))
1010
1006
 
1011
- self.ToolTip = _Tip(tip, handler.__doc__)
1007
+ self.ToolTip = handler.__doc__
1012
1008
  self.icon = icon
1013
1009
 
1014
1010
  def SetBitmap(self, bmp):
@@ -1048,14 +1044,13 @@ class ToggleButton(wx.ToggleButton):
1048
1044
  self.SetBitmap(_Icon(v))
1049
1045
  self.Refresh()
1050
1046
 
1051
- def __init__(self, parent, label='',
1052
- handler=None, icon=None, tip='', **kwargs):
1047
+ def __init__(self, parent, label='', handler=None, icon=None, **kwargs):
1053
1048
  wx.ToggleButton.__init__(self, parent, -1, label, **kwargs)
1054
1049
 
1055
1050
  if handler:
1056
1051
  self.Bind(wx.EVT_TOGGLEBUTTON, _F(handler))
1057
1052
 
1058
- self.ToolTip = _Tip(tip, handler.__doc__)
1053
+ self.ToolTip = handler.__doc__
1059
1054
  self.icon = icon
1060
1055
 
1061
1056
 
@@ -1087,20 +1082,20 @@ class TextCtrl(wx.Control):
1087
1082
  def icon(self, v):
1088
1083
  self._btn.icon = v
1089
1084
 
1090
- def __init__(self, parent, label='',
1091
- handler=None, updater=None, size=(-1,-1),
1092
- icon=None, tip='', readonly=False, **kwargs):
1085
+ def __init__(self, parent, label='', handler=None, updater=None,
1086
+ icon=None, readonly=False, size=(-1,-1), **kwargs):
1093
1087
  wx.Control.__init__(self, parent, size=size, style=wx.BORDER_NONE)
1094
1088
 
1095
1089
  kwargs['style'] = (kwargs.get('style', 0)
1096
1090
  | wx.TE_PROCESS_ENTER
1097
1091
  | (wx.TE_READONLY if readonly else 0))
1098
1092
 
1099
- tooltip = _Tip(tip, handler.__doc__, updater.__doc__)
1100
-
1101
1093
  self._ctrl = wx.TextCtrl(self, **kwargs)
1102
- self._btn = Button(self, label, None, icon, tooltip,
1094
+ self._btn = Button(self, label, None, icon,
1103
1095
  size=(-1,-1) if label or icon else (0,0))
1096
+ self._ctrl.ToolTip = handler.__doc__
1097
+ self._btn.ToolTip = updater.__doc__
1098
+
1104
1099
  self.SetSizer(
1105
1100
  pack(self, (
1106
1101
  (self._btn, 0, wx.ALIGN_CENTER | wx.LEFT | wx.RIGHT, 0),
@@ -1164,20 +1159,20 @@ class Choice(wx.Control):
1164
1159
  def icon(self, v):
1165
1160
  self._btn.icon = v
1166
1161
 
1167
- def __init__(self, parent, label='',
1168
- handler=None, updater=None, size=(-1,-1),
1169
- icon=None, tip='', readonly=False, **kwargs):
1162
+ def __init__(self, parent, label='', handler=None, updater=None,
1163
+ icon=None, readonly=False, size=(-1,-1), **kwargs):
1170
1164
  wx.Control.__init__(self, parent, size=size, style=wx.BORDER_NONE)
1171
1165
 
1172
1166
  kwargs['style'] = (kwargs.get('style', 0)
1173
1167
  | wx.TE_PROCESS_ENTER
1174
1168
  | (wx.CB_READONLY if readonly else 0))
1175
1169
 
1176
- tooltip = _Tip(tip, handler.__doc__, updater.__doc__)
1177
-
1178
1170
  self._ctrl = wx.ComboBox(self, **kwargs)
1179
- self._btn = Button(self, label, None, icon, tooltip,
1171
+ self._btn = Button(self, label, None, icon,
1180
1172
  size=(-1,-1) if label or icon else (0,0))
1173
+ self._ctrl.ToolTip = handler.__doc__
1174
+ self._btn.ToolTip = updater.__doc__
1175
+
1181
1176
  self.SetSizer(
1182
1177
  pack(self, (
1183
1178
  (self._btn, 0, wx.ALIGN_CENTER | wx.LEFT | wx.RIGHT, 0),
mwx/framework.py CHANGED
@@ -1,7 +1,7 @@
1
1
  #! python3
2
2
  """mwxlib framework.
3
3
  """
4
- __version__ = "0.96.4"
4
+ __version__ = "0.96.5"
5
5
  __author__ = "Kazuya O'moto <komoto@jeol.co.jp>"
6
6
 
7
7
  from functools import wraps, partial
@@ -1594,7 +1594,7 @@ class ShellFrame(MiniFrame):
1594
1594
  if isinstance(editor, str):
1595
1595
  editor = getattr(self, editor, None)
1596
1596
  if editor:
1597
- return editor.load_file(filename, lineno, verbose=0)
1597
+ return editor.load_file(filename, lineno)
1598
1598
 
1599
1599
  def load(self, filename, lineno=0, show=True):
1600
1600
  """Load file @where the object is defined.
@@ -1615,7 +1615,7 @@ class ShellFrame(MiniFrame):
1615
1615
  filename, ln = m.groups()
1616
1616
  lineno = int(ln)
1617
1617
  editor = self.find_editor(filename) or self.Log
1618
- ret = editor.load_file(filename, lineno, verbose=1)
1618
+ ret = editor.load_file(filename, lineno)
1619
1619
  if ret:
1620
1620
  self.popup_window(editor, show)
1621
1621
  return ret
mwx/graphman.py CHANGED
@@ -1268,8 +1268,8 @@ class Frame(mwx.Frame):
1268
1268
  .Name(title).Caption(title)
1269
1269
  .FloatingSize(size).MinSize(size).Show(0))
1270
1270
  j = nb.GetPageIndex(plug)
1271
- tip = "[{}]\n{}".format(plug.__module__, plug.__doc__)
1272
- nb.SetPageToolTip(j, tip.strip())
1271
+ tips = "[{}]\n{}".format(plug.__module__, plug.__doc__)
1272
+ nb.SetPageToolTip(j, tips.strip())
1273
1273
  else:
1274
1274
  nb = None
1275
1275
  size = plug.GetSize()
mwx/images.py CHANGED
@@ -178,6 +178,23 @@ colour_grey = PyEmbeddedImage(
178
178
  b'r7rzc2YUF8aOx3m0NYJWAPe76VmttzK1bzsbW0dAKwAAAID/tYu/URIDsoEAAAAASUVORK5C'
179
179
  b'YII=')
180
180
 
181
+ #----------------------------------------------------------------------
182
+ connect = PyEmbeddedImage(
183
+ b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
184
+ b'RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ+SURBVBgZlcFLSBRhAAfw/858'
185
+ b's860aygiptIp9NChoDzkxYNUYIcO0TUIOghFUNElvEad6lBkdEqCIugi3QQfLR2yQumBaPh+'
186
+ b'7Li7o/uanfmes1972IOEQv5+Ma01DuPRh+U+StlEhSsZUnElprXGQd6kdomUsoOJaiflojXk'
187
+ b'4mIM+pZjaXCp8GslTwkOMDLlOVyoCamiXhkpVCOJRDyGpG2CCYlsgSPvh4TgACGVt21L97Y0'
188
+ b'meBCg0kNyiW28wHiJrC8VYAo0wsE+3g1vtRdquYeHyXHUfAldkohKJcIuUSjbWI5XYKXLQ5/'
189
+ b'fnk1RbDHyJTnSKHeCbF6SbVMGCteH5pxAk7cQLbAQZmAGbOQccuQZTqGGoK615M5woX6aRPd'
190
+ b'ZTkn4a+7kehMmdOzMmptaDOTNkEuzxE3gaAcQITMQ42BugpVHUzIrqRjwCJVOA3nzPLvMzKS'
191
+ b'cujPxnK04RbRdIQgYBxhIYSs0DRqDNSFnHUKIUG5xKZXQTweg5Potmyde9hz/quZ9RbgukWs'
192
+ b'LWQQlvxFFQkXNQbqKgFvDRhHyCRCKrC27cOxYmhrPksyP5rQMzAPd3FJZVdzoyrip+cn7yvU'
193
+ b'ENSVQnajvclCSAUqlIMyCa8oYVsmoPsxM/pJRVVxam7ywTz2IKi5+WLmXqNjXI4TA5lCgIRt'
194
+ b'wjI1GqwYhJBY39hFLt0+NPtxcB7/IIPPvt9N2MaTRNwAZQKWqbGeLmFnxwf1GZhPwXz+RXH2'
195
+ b'HPsgPuVP25qT0DrCZtbHpltEwQuGlRBjEedexFVaCenOjd9R2Acp+RQb2xFMaKS3iiju+v3T'
196
+ b'b69N4T8RGtBjK/lSRoWKKsYGvr2/nsIh/AUG0IfiieuuUQAAAABJRU5ErkJggg==')
197
+
181
198
  #----------------------------------------------------------------------
182
199
  copy = PyEmbeddedImage(
183
200
  b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAA'
@@ -209,6 +226,24 @@ core = PyEmbeddedImage(
209
226
  b'AQgglIQEcp6GhgaDtrY22JmgAAT5HRQOnz9/BqsB5Y2dO3eCNHOAYh8ggOAGgJyKbhgygAUa'
210
227
  b'VDMjTBwggMAGTJ48+flvIJCWlpYjlH2RNYMAQIABANLKHICUilYLAAAAAElFTkSuQmCC')
211
228
 
229
+ #----------------------------------------------------------------------
230
+ disconnect = PyEmbeddedImage(
231
+ b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
232
+ b'RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKuSURBVDjLlZLLS5RRGMbf7zrz'
233
+ b'ebdw8FaSqJAbF0GgRBvptinoPxDKRdDKQjBw2TKClgVJCwmUyMBKydDKS9TCME2tRhs1cZwZ'
234
+ b'57ud853bfB0HiiAVOvBuDuf5ve/7nEcJwxAOOgPTtk4Fr6ZU1OCAVyBCm2Td9jEdcxG5pBwE'
235
+ b'eDyZtaRwjAvWSpkAxjkITsGKqJBIuvB903upH9QdE3rd1MLW0gIVCMsBoYq8U8H2CUQNBdJZ'
236
+ b'p33fCe6PbJo+4XZVmRHFhEDKCXaB4Accii0NFlfT8GNt56a6X/er56qog/Cd1aQjRRQictas'
237
+ b'R8B2EXgIQyblAbX95X9WeDSRPiriz3oZY1pvZ2dH590Z7GB+q7LcjBZHVdhMBaCpEfBsCXDR'
238
+ b'9p8V+t9lLGlUP7PXLxyJbkUMw4DZ2dm+rq6ujjPdz09xTEZrY8VWYZEh/WAwNxWHwEV1eYDs'
239
+ b'qsuOCxFDaYRQwGZ8ljeUE31+fr4PY3xFVulM5mQzC4LRypoSy037kEykvuZytDnvAQ5oNSa8'
240
+ b'scAE0JQcGIeb9LcrJl02Tj+U4gcIoanG8MU35qKzK58SaCux9ZSLoGVxvJvnPfAQrQEQEhTC'
241
+ b'RhpBYVQB61CNyZY+v6qvrzdisRgMDg6O1+kjbUt+23EpTPz2LA9wMa7QFJBuhxIWQHKHQWmB'
242
+ b'DrXHGozJuTfQ4sWBEDI9NDSUkc8zf5ueB9gubiqyVJBacBDZXQm2MhSiugZW7QkYfj/NuGi5'
243
+ b'ttd3a9uxi6bM9FhFmak5fgCmHEXqQFcVEDkBiZVt+edhz8fh7om9AHrWxV5JgWoImXMfE1jb'
244
+ b'sMHd8QF7AQQyONjxp4UQ9/YLnJ710JgaGucXUi6sr2cY84MeQfmyCOg2p3RD5PjPL69v8H0B'
245
+ b'yEWXnSR7IoPSzjEt+jDQQeE/zi9kq6pv7shelwAAAABJRU5ErkJggg==')
246
+
212
247
  #----------------------------------------------------------------------
213
248
  exit = PyEmbeddedImage(
214
249
  b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
@@ -106,7 +106,7 @@ class Plugin(Layer):
106
106
  updater=self.get_crop,
107
107
  )
108
108
 
109
- self.snp = Button(self, handler=self.snapshot, icon='clock')
109
+ self.snp = Button(self, handler=self.snapshot, icon='clip')
110
110
  self.exp = Button(self, handler=self.export, icon='save')
111
111
 
112
112
  self.rw = Button(self, handler=lambda v: self.seekdelta(-100), icon='|<-')
mwx/utilus.py CHANGED
@@ -444,7 +444,7 @@ def find_modules(force=False, verbose=True):
444
444
  lm = eval(o.read()) # read and evaluate module list
445
445
 
446
446
  ## Check additional packages and modules
447
- ## verbose = False
447
+ verbose = False
448
448
  for info in walk_packages_no_import(['.']):
449
449
  _callback('.', info.name)
450
450
  else:
@@ -827,17 +827,15 @@ class FSM(dict):
827
827
 
828
828
  if event in context:
829
829
  if state2 != context[event][0]:
830
- warn(f"- FSM transaction may conflict.\n"
831
- f" The state {state2!r} is different from the original state."
832
- f" {event!r} : {state!r} --> {state2!r}")
830
+ warn(f"- FSM transaction may conflict ({event!r} : {state!r} --> {state2!r}).\n"
831
+ f" The state {state2!r} is different from the original state.")
833
832
  pass
834
833
  context[event][0] = state2 # update transition
835
834
  else:
836
- ## if state2 not in self:
837
- ## warn(f"- FSM transaction may contradict\n"
838
- ## f" The state {state2!r} is not found in the contexts."
839
- ## f" {event!r} : {state!r} --> {state2!r}")
840
- ## pass
835
+ if state2 not in self:
836
+ warn(f"- FSM transaction may contradict ({event!r} : {state!r} --> {state2!r}).\n"
837
+ f" The state {state2!r} is not found in the contexts.")
838
+ pass
841
839
  context[event] = [state2] # new event:transaction
842
840
 
843
841
  transaction = context[event]
@@ -848,8 +846,8 @@ class FSM(dict):
848
846
  try:
849
847
  transaction.append(action)
850
848
  except AttributeError:
851
- warn(f"- FSM cannot append new transaction ({state!r} : {event!r})\n"
852
- f" The transaction must be a list, not a tuple")
849
+ warn(f"- FSM cannot append new transaction ({state!r} : {event!r}).\n"
850
+ f" The transaction must be a list, not a tuple.")
853
851
  return action
854
852
 
855
853
  def unbind(self, event, action=None, state=None):
@@ -868,7 +866,7 @@ class FSM(dict):
868
866
 
869
867
  context = self[state]
870
868
  if event not in context:
871
- warn(f"- FSM has no such transaction ({state!r} : {event!r})")
869
+ warn(f"- FSM has no such transaction ({state!r} : {event!r}).")
872
870
  return
873
871
 
874
872
  transaction = context[event]
@@ -882,7 +880,7 @@ class FSM(dict):
882
880
  transaction.remove(action)
883
881
  return True
884
882
  except AttributeError:
885
- warn(f"- FSM removing action from context ({state!r} : {event!r})\n"
883
+ warn(f"- FSM removing action from context ({state!r} : {event!r}).\n"
886
884
  f" The transaction must be a list, not a tuple")
887
885
  return False
888
886
 
@@ -965,7 +963,7 @@ class TreeList(object):
965
963
  else:
966
964
  ls.append([key, value]) # append to items:list
967
965
  except (ValueError, TypeError, AttributeError) as e:
968
- warn(f"- TreeList:warning {e!r}: {key=!r}")
966
+ warn(f"- TreeList {e!r}: {key=!r}")
969
967
 
970
968
  def _delf(self, ls, key):
971
969
  if '/' in key:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mwxlib
3
- Version: 0.96.4
3
+ Version: 0.96.5
4
4
  Summary: A wrapper of matplotlib and wxPython (phoenix)
5
5
  Home-page: https://github.com/komoto48g/mwxlib
6
6
  Author: Kazuya O'moto
@@ -1,28 +1,28 @@
1
1
  mwx/__init__.py,sha256=nN62CGTWjME7Zz2h-jIRB8MxwuErIkHPGrlBzydkF0o,643
2
2
  mwx/bookshelf.py,sha256=CjcgtHC33KR5mHp1lW6Bqfndpzr7hC8ICkFihw4kM3g,5134
3
- mwx/controls.py,sha256=JGoDEqfa0m5unISRcAdTxqCXihfuFo1mnLQcMimpGdc,48445
4
- mwx/framework.py,sha256=bP9D868lzBecp1ZRYEv_GupYtior0AoiK6M8B-yxBvw,75249
5
- mwx/graphman.py,sha256=eNL1Uja1m4g8ER3emArTFPZllvxEjvdnZTc1y8QMciE,71267
6
- mwx/images.py,sha256=gyvqW4TLWdJMKmsaWiPiV_PuHJM1GbHgeELERLwGzg8,45291
3
+ mwx/controls.py,sha256=CAfptYrYxHg1qix3MInXuSp3epI33gpQxf183jLPTvo,48321
4
+ mwx/framework.py,sha256=9-FMc30KMYYkYCuql8k8Wa8ynjj6GTbMamZV_x5GVgs,75227
5
+ mwx/graphman.py,sha256=XoD_wbt5wrmiRf8Q3lpn_eklakE2K-rLfpzfXG1L-Pc,71269
6
+ mwx/images.py,sha256=_-Eh3xF7Khu42ivkYp97NXIzSNGbjcidqtWjZQFGtqE,47827
7
7
  mwx/matplot2.py,sha256=-G7z0Osozm9NjLfXvX5UcdFviwbNUktjbd904_g-PqQ,33516
8
8
  mwx/matplot2g.py,sha256=22rpdkqJQEJADINPaG5htACutbt8oG1ewO8LMpxaqH4,65237
9
9
  mwx/matplot2lg.py,sha256=MDbkO0vn5yi9rwTBCBJ4rsIHcWyoGXeNTbp0xfrvTdM,27381
10
10
  mwx/mgplt.py,sha256=ITzxA97yDwr_35BUk5OqnyskSuKVDbpf2AQCKY1jHTI,5671
11
11
  mwx/nutshell.py,sha256=HNo8ZuhLZPKd_Cg4s9NN-KfuSXHRP_jaw1s59GVXkN4,136971
12
- mwx/utilus.py,sha256=jTjeunx_9-HrjdWaceX1Xeq3pHMS4M7M9ma2i4uhKJY,37369
12
+ mwx/utilus.py,sha256=d-cDI4n4S-v-Gya2ekbVURq686BQfFZ7S2i63wIKHQg,37298
13
13
  mwx/wxmon.py,sha256=f3V24EF7kdMlYF7usLYK9QE5KU6fSu0jVqsvwAiA-Ag,12647
14
14
  mwx/wxpdb.py,sha256=lLowkkAgMhPFHAfklD7wZHq0qbSMjRxnBFtSajmVgME,19133
15
15
  mwx/wxwil.py,sha256=0bzSTfMEjllJheKxZPb4p8Luz6Il3V29bCLBty72U2o,5576
16
16
  mwx/wxwit.py,sha256=yU6XeCCWRBP7CLmpphjT072PfXAL30DNaxoChDX2p0I,7322
17
17
  mwx/plugins/__init__.py,sha256=jnJ-Sl9XJ_7BFDslD_r7dsbxsOT57q_IaEriV53XIGY,41
18
- mwx/plugins/ffmpeg_view.py,sha256=wZXRgsiPyIphcA8hvXQoE7NZp4cc_YBOO0ZpuKmUJKE,9369
18
+ mwx/plugins/ffmpeg_view.py,sha256=QjNqnvPEd9vCwfATU2BOO75fIOFD5LQ-Wf-BBhvZNZs,9368
19
19
  mwx/plugins/fft_view.py,sha256=HcnBr-y_yFdSfASPRzMLANta4SwSDShd65QWnCU3XhM,2665
20
20
  mwx/plugins/frame_listview.py,sha256=Li993CV0pPY23Jb8cGQkc3wVeDlHWLEe8RuDbNZeB8s,10351
21
21
  mwx/plugins/line_profile.py,sha256=--9NIc3x5EfRB3L59JvD7rzENQHyiYfu7wWJo6AuMkA,820
22
22
  mwx/py/__init__.py,sha256=xykgfOytOwNuvXsfkLoumFZSTN-iBsHOjczYXngjmUE,12
23
23
  mwx/py/filling.py,sha256=KaHooM32hrGGgqw75Cbt8lAvACwC6RXadob9LGgNnEc,16806
24
- mwxlib-0.96.4.dist-info/LICENSE,sha256=PGtRKCaTkmUDlBQwpptJAxJtdqxIUtAmdBsaT9nUVkA,1091
25
- mwxlib-0.96.4.dist-info/METADATA,sha256=z1bx81IMuasnA9ZGE1vUidxqqh7cOC_LmB-Rdrqd0xw,1925
26
- mwxlib-0.96.4.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
27
- mwxlib-0.96.4.dist-info/top_level.txt,sha256=SI1Mh118AstnUFGPNq5aMNKiAnVNmZk1S9Ij-OwAEpY,4
28
- mwxlib-0.96.4.dist-info/RECORD,,
24
+ mwxlib-0.96.5.dist-info/LICENSE,sha256=PGtRKCaTkmUDlBQwpptJAxJtdqxIUtAmdBsaT9nUVkA,1091
25
+ mwxlib-0.96.5.dist-info/METADATA,sha256=7bmBbSe5QXryHXNY8gbPkgx7wMUMIl-wGVn_esBg5fU,1925
26
+ mwxlib-0.96.5.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
27
+ mwxlib-0.96.5.dist-info/top_level.txt,sha256=SI1Mh118AstnUFGPNq5aMNKiAnVNmZk1S9Ij-OwAEpY,4
28
+ mwxlib-0.96.5.dist-info/RECORD,,