mwxlib 0.79.8__py3-none-any.whl → 0.80.0__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 +20 -14
- mwx/framework.py +5 -6
- mwx/graphman.py +10 -24
- mwx/matplot2.py +4 -5
- mwx/matplot2g.py +27 -21
- mwx/matplot2lg.py +6 -11
- mwx/nutshell.py +8 -1
- mwx/utilus.py +43 -18
- {mwxlib-0.79.8.dist-info → mwxlib-0.80.0.dist-info}/METADATA +1 -1
- mwxlib-0.80.0.dist-info/RECORD +22 -0
- mwxlib-0.79.8.dist-info/RECORD +0 -22
- {mwxlib-0.79.8.dist-info → mwxlib-0.80.0.dist-info}/LICENSE +0 -0
- {mwxlib-0.79.8.dist-info → mwxlib-0.80.0.dist-info}/WHEEL +0 -0
- {mwxlib-0.79.8.dist-info → mwxlib-0.80.0.dist-info}/top_level.txt +0 -0
mwx/controls.py
CHANGED
|
@@ -5,8 +5,6 @@
|
|
|
5
5
|
Author: Kazuya O'moto <komoto@jeol.co.jp>
|
|
6
6
|
"""
|
|
7
7
|
from itertools import chain
|
|
8
|
-
import numpy as np
|
|
9
|
-
from numpy import nan, inf
|
|
10
8
|
import wx
|
|
11
9
|
import wx.lib.platebtn as pb
|
|
12
10
|
import wx.lib.scrolledpanel as scrolled
|
|
@@ -15,6 +13,9 @@ from . import images
|
|
|
15
13
|
from .utilus import SSM
|
|
16
14
|
from .framework import pack, Menu, CtrlInterface
|
|
17
15
|
|
|
16
|
+
import numpy as np
|
|
17
|
+
from numpy import nan, inf
|
|
18
|
+
|
|
18
19
|
|
|
19
20
|
class Param(object):
|
|
20
21
|
"""Standard Parameter
|
|
@@ -786,22 +787,27 @@ class Clipboard:
|
|
|
786
787
|
@staticmethod
|
|
787
788
|
def read():
|
|
788
789
|
do = wx.TextDataObject()
|
|
789
|
-
wx.TheClipboard.Open()
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
790
|
+
if wx.TheClipboard.Open():
|
|
791
|
+
wx.TheClipboard.GetData(do)
|
|
792
|
+
wx.TheClipboard.Close()
|
|
793
|
+
text = do.GetText()
|
|
794
|
+
if Clipboard.verbose:
|
|
795
|
+
print("From clipboard: {}".format(text))
|
|
796
|
+
return text
|
|
797
|
+
else:
|
|
798
|
+
print("- Unable to open clipboard.")
|
|
796
799
|
|
|
797
800
|
@staticmethod
|
|
798
801
|
def write(text):
|
|
799
802
|
do = wx.TextDataObject(str(text))
|
|
800
|
-
wx.TheClipboard.Open()
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
803
|
+
if wx.TheClipboard.Open():
|
|
804
|
+
wx.TheClipboard.SetData(do)
|
|
805
|
+
wx.TheClipboard.Flush()
|
|
806
|
+
wx.TheClipboard.Close()
|
|
807
|
+
if Clipboard.verbose:
|
|
808
|
+
print("To clipboard: {}".format(text))
|
|
809
|
+
else:
|
|
810
|
+
print("- Unable to open clipboard.")
|
|
805
811
|
|
|
806
812
|
|
|
807
813
|
## --------------------------------
|
mwx/framework.py
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Author: Kazuya O'moto <komoto@jeol.co.jp>
|
|
6
6
|
"""
|
|
7
|
-
__version__ = "0.
|
|
7
|
+
__version__ = "0.80.0"
|
|
8
8
|
__author__ = "Kazuya O'moto <komoto@jeol.co.jp>"
|
|
9
9
|
|
|
10
10
|
from functools import wraps, partial
|
|
@@ -1110,8 +1110,10 @@ class ShellFrame(MiniFrame):
|
|
|
1110
1110
|
LOGGING_FILE = get_rootpath("deb-logging.log")
|
|
1111
1111
|
HISTORY_FILE = get_rootpath("deb-history.log")
|
|
1112
1112
|
|
|
1113
|
-
def load_session(self):
|
|
1113
|
+
def load_session(self, rc=None):
|
|
1114
1114
|
"""Load session from file."""
|
|
1115
|
+
if rc:
|
|
1116
|
+
self.SESSION_FILE = os.path.abspath(rc)
|
|
1115
1117
|
try:
|
|
1116
1118
|
scratch = self.Scratch.default_buffer
|
|
1117
1119
|
if not scratch or scratch.mtdelta is not None:
|
|
@@ -1120,9 +1122,7 @@ class ShellFrame(MiniFrame):
|
|
|
1120
1122
|
|
|
1121
1123
|
with open(self.SESSION_FILE) as i:
|
|
1122
1124
|
exec(i.read())
|
|
1123
|
-
|
|
1124
|
-
except FileNotFoundError:
|
|
1125
|
-
pass
|
|
1125
|
+
|
|
1126
1126
|
except Exception:
|
|
1127
1127
|
traceback.print_exc()
|
|
1128
1128
|
print("- Failed to load session")
|
|
@@ -1167,7 +1167,6 @@ class ShellFrame(MiniFrame):
|
|
|
1167
1167
|
if buffer.mtdelta is not None:
|
|
1168
1168
|
o.write("self.Scratch.load_file({!r}, {})\n".format(
|
|
1169
1169
|
buffer.filename, buffer.markline+1))
|
|
1170
|
-
return True
|
|
1171
1170
|
except Exception:
|
|
1172
1171
|
traceback.print_exc()
|
|
1173
1172
|
print("- Failed to save session")
|
mwx/graphman.py
CHANGED
|
@@ -19,20 +19,14 @@ import platform
|
|
|
19
19
|
import re
|
|
20
20
|
import wx
|
|
21
21
|
from wx import aui
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
from . import framework as mwx
|
|
31
|
-
from .utilus import funcall as _F
|
|
32
|
-
from .controls import ControlPanel, Icon
|
|
33
|
-
from .framework import CtrlInterface
|
|
34
|
-
from .matplot2g import GraphPlot
|
|
35
|
-
from .matplot2lg import Histogram
|
|
22
|
+
|
|
23
|
+
from . import framework as mwx
|
|
24
|
+
from .utilus import funcall as _F
|
|
25
|
+
from .controls import ControlPanel, Icon
|
|
26
|
+
from .framework import CtrlInterface
|
|
27
|
+
from .matplot2g import GraphPlot
|
|
28
|
+
from .matplot2lg import Histogram
|
|
29
|
+
|
|
36
30
|
from matplotlib import cm
|
|
37
31
|
from matplotlib import colors
|
|
38
32
|
## from matplotlib import pyplot as plt
|
|
@@ -1681,7 +1675,7 @@ class Frame(mwx.Frame):
|
|
|
1681
1675
|
if flush:
|
|
1682
1676
|
del self.graph[:]
|
|
1683
1677
|
del self.output[:]
|
|
1684
|
-
for name in list(self.plugins): #
|
|
1678
|
+
for name in list(self.plugins): # plugins:dict mutates during iteration
|
|
1685
1679
|
self.unload_plug(name)
|
|
1686
1680
|
|
|
1687
1681
|
self.statusbar("Loading session from {!r}...".format(f))
|
|
@@ -1784,15 +1778,7 @@ if __name__ == "__main__":
|
|
|
1784
1778
|
## frm.load_plug("demo.template.py", show=1, force=1)
|
|
1785
1779
|
## frm.load_plug("demo/template.py", show=1, force=1)
|
|
1786
1780
|
|
|
1787
|
-
frm.load_plug(r"C:\usr\home\lib\python\demo\template.py", show=1, dock=
|
|
1788
|
-
|
|
1789
|
-
## sys.path.append(r"C:\usr\home\lib\python\Lib\wxpyNautilus\plugins")
|
|
1790
|
-
## frm.require("viewfft")
|
|
1791
|
-
## frm.require("viewframe")
|
|
1792
|
-
## frm.require("lineprofile")
|
|
1793
|
-
## frm.require("ffmpeg_viewer")
|
|
1794
|
-
## frm.load_plug("randn.py", show=1, dock=0)
|
|
1781
|
+
frm.load_plug(r"C:\usr\home\lib\python\demo\template.py", show=1, dock=4)
|
|
1795
1782
|
|
|
1796
|
-
frm.shellframe.debugger.skip.remove(mwx.FSM.__module__)
|
|
1797
1783
|
frm.Show()
|
|
1798
1784
|
app.MainLoop()
|
mwx/matplot2.py
CHANGED
|
@@ -4,12 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
Author: Kazuya O'moto <komoto@jeol.co.jp>
|
|
6
6
|
"""
|
|
7
|
-
import sys
|
|
8
7
|
import wx
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
from . import framework as mwx
|
|
8
|
+
|
|
9
|
+
from . import framework as mwx
|
|
10
|
+
|
|
13
11
|
import matplotlib; matplotlib.use('wxagg') # noqa
|
|
14
12
|
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
|
|
15
13
|
from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as Toolbar
|
|
@@ -21,6 +19,7 @@ from matplotlib.figure import Figure
|
|
|
21
19
|
from matplotlib import cm
|
|
22
20
|
import numpy as np
|
|
23
21
|
|
|
22
|
+
|
|
24
23
|
## state constants
|
|
25
24
|
NORMAL = 'Normal'
|
|
26
25
|
DRAGGING = '-dragging'
|
mwx/matplot2g.py
CHANGED
|
@@ -5,18 +5,13 @@
|
|
|
5
5
|
Author: Kazuya O'moto <komoto@jeol.co.jp>
|
|
6
6
|
"""
|
|
7
7
|
import traceback
|
|
8
|
-
import sys
|
|
9
8
|
import wx
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
from . import framework as mwx
|
|
17
|
-
from .utilus import funcall as _F
|
|
18
|
-
from .matplot2 import MatplotPanel
|
|
19
|
-
from .matplot2 import NORMAL, DRAGGING, PAN, ZOOM, MARK, LINE, REGION
|
|
9
|
+
|
|
10
|
+
from . import framework as mwx
|
|
11
|
+
from .utilus import funcall as _F
|
|
12
|
+
from .matplot2 import MatplotPanel
|
|
13
|
+
from .matplot2 import NORMAL, DRAGGING, PAN, ZOOM, MARK, LINE, REGION
|
|
14
|
+
|
|
20
15
|
from matplotlib import cm
|
|
21
16
|
from matplotlib import patches
|
|
22
17
|
from PIL import Image
|
|
@@ -371,36 +366,47 @@ class Clipboard:
|
|
|
371
366
|
|
|
372
367
|
@staticmethod
|
|
373
368
|
def imread():
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
wx.TheClipboard.Open() or print("- Unable to open the clipboard")
|
|
369
|
+
do = wx.BitmapDataObject()
|
|
370
|
+
if wx.TheClipboard.Open():
|
|
377
371
|
wx.TheClipboard.GetData(do)
|
|
372
|
+
wx.TheClipboard.Close()
|
|
378
373
|
bmp = do.GetBitmap()
|
|
374
|
+
else:
|
|
375
|
+
print("- Unable to open clipboard.")
|
|
376
|
+
return
|
|
377
|
+
try:
|
|
378
|
+
## Convert bmp --> buf
|
|
379
379
|
img = bmp.ConvertToImage()
|
|
380
380
|
buf = np.array(img.GetDataBuffer()) # do copy, don't ref
|
|
381
381
|
if Clipboard.verbose:
|
|
382
382
|
print("From clipboard {:.1f} Mb data".format(buf.nbytes/1e6))
|
|
383
383
|
w, h = img.GetSize()
|
|
384
384
|
return buf.reshape(h, w, 3)
|
|
385
|
-
|
|
386
|
-
|
|
385
|
+
except Exception:
|
|
386
|
+
print("- The contents of the clipboard are not images.")
|
|
387
387
|
|
|
388
388
|
@staticmethod
|
|
389
389
|
def imwrite(buf):
|
|
390
390
|
try:
|
|
391
|
+
## Convert buf --> bmp
|
|
391
392
|
h, w = buf.shape[:2]
|
|
392
393
|
if buf.ndim < 3:
|
|
393
394
|
## buf = np.array([buf] * 3).transpose((1,2,0)) # convert to gray bitmap
|
|
394
|
-
buf = buf.repeat(3, axis=1)
|
|
395
|
+
buf = buf.repeat(3, axis=1) # convert to gray bitmap
|
|
395
396
|
img = wx.Image(w, h, buf.tobytes())
|
|
396
397
|
bmp = img.ConvertToBitmap()
|
|
397
|
-
|
|
398
|
-
|
|
398
|
+
except Exception:
|
|
399
|
+
print("- The contents of the clipboard are not images.")
|
|
400
|
+
return
|
|
401
|
+
do = wx.BitmapDataObject(bmp)
|
|
402
|
+
if wx.TheClipboard.Open():
|
|
399
403
|
wx.TheClipboard.SetData(do)
|
|
404
|
+
wx.TheClipboard.Flush()
|
|
405
|
+
wx.TheClipboard.Close()
|
|
400
406
|
if Clipboard.verbose:
|
|
401
407
|
print("To clipboard: {:.1f} Mb data".format(buf.nbytes/1e6))
|
|
402
|
-
|
|
403
|
-
|
|
408
|
+
else:
|
|
409
|
+
print("- Unable to open clipboard.")
|
|
404
410
|
|
|
405
411
|
|
|
406
412
|
class GraphPlot(MatplotPanel):
|
mwx/matplot2lg.py
CHANGED
|
@@ -5,18 +5,13 @@
|
|
|
5
5
|
Author: Kazuya O'moto <komoto@jeol.co.jp>
|
|
6
6
|
"""
|
|
7
7
|
from itertools import chain
|
|
8
|
-
import sys
|
|
9
8
|
import wx
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
from . import framework as mwx
|
|
17
|
-
from .utilus import funcall as _F
|
|
18
|
-
from .matplot2 import MatplotPanel
|
|
19
|
-
from .matplot2 import NORMAL, MARK, LINE, REGION
|
|
9
|
+
|
|
10
|
+
from . import framework as mwx
|
|
11
|
+
from .utilus import funcall as _F
|
|
12
|
+
from .matplot2 import MatplotPanel
|
|
13
|
+
from .matplot2 import NORMAL, MARK, LINE, REGION
|
|
14
|
+
|
|
20
15
|
from matplotlib import patches
|
|
21
16
|
import numpy as np
|
|
22
17
|
from scipy import signal
|
mwx/nutshell.py
CHANGED
|
@@ -1376,7 +1376,13 @@ class Buffer(EditWindow, EditorInterface):
|
|
|
1376
1376
|
self.__mtime = os.path.getmtime(f)
|
|
1377
1377
|
else:
|
|
1378
1378
|
self.__mtime = None
|
|
1379
|
+
try:
|
|
1380
|
+
renamed = (self.filename != f)
|
|
1381
|
+
except AttributeError:
|
|
1382
|
+
renamed = False
|
|
1379
1383
|
self.__filename = f
|
|
1384
|
+
if renamed:
|
|
1385
|
+
self.parent.handler('buffer_filename_set', self)
|
|
1380
1386
|
|
|
1381
1387
|
@property
|
|
1382
1388
|
def mtdelta(self):
|
|
@@ -1695,9 +1701,10 @@ class EditorBook(aui.AuiNotebook, CtrlInterface):
|
|
|
1695
1701
|
'buffer_selected' : [ None, ],
|
|
1696
1702
|
'buffer_activated' : [ None, ],
|
|
1697
1703
|
'buffer_inactivated' : [ None, ],
|
|
1704
|
+
'buffer_filename_set' : [ None, ],
|
|
1705
|
+
'title_window' : [ None, dispatch ],
|
|
1698
1706
|
'*button* pressed' : [ None, dispatch, skip ],
|
|
1699
1707
|
'*button* released' : [ None, dispatch, skip ],
|
|
1700
|
-
'title_window' : [ None, dispatch ],
|
|
1701
1708
|
},
|
|
1702
1709
|
0 : { # Normal mode
|
|
1703
1710
|
'* pressed' : (0, skip),
|
mwx/utilus.py
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
Author: Kazuya O'moto <komoto@jeol.co.jp>
|
|
6
6
|
"""
|
|
7
|
-
from collections import OrderedDict
|
|
8
7
|
from functools import wraps
|
|
9
8
|
from bdb import BdbQuit
|
|
10
9
|
import traceback
|
|
@@ -396,7 +395,7 @@ def get_rootpath(f):
|
|
|
396
395
|
## Finite State Machine
|
|
397
396
|
## --------------------------------
|
|
398
397
|
|
|
399
|
-
class SSM(
|
|
398
|
+
class SSM(dict):
|
|
400
399
|
"""Single State Machine/Context of FSM
|
|
401
400
|
"""
|
|
402
401
|
def __call__(self, event, *args, **kwargs):
|
|
@@ -664,7 +663,7 @@ class FSM(dict):
|
|
|
664
663
|
context = self[state]
|
|
665
664
|
ast = []
|
|
666
665
|
bra = []
|
|
667
|
-
for event in list(context):
|
|
666
|
+
for event in list(context): # context mutates during iteration
|
|
668
667
|
if re.search(r"\[.+\]", event):
|
|
669
668
|
bra.append((event, context.pop(event))) # event key has '[]'
|
|
670
669
|
elif '*' in event or '?' in event:
|
|
@@ -709,8 +708,10 @@ class FSM(dict):
|
|
|
709
708
|
continue
|
|
710
709
|
for act in transaction[1:]:
|
|
711
710
|
self.unbind(event, act, k)
|
|
712
|
-
|
|
713
|
-
|
|
711
|
+
## cleanup
|
|
712
|
+
for k, v in list(self.items()): # self mutates during iteration
|
|
713
|
+
if not v:
|
|
714
|
+
del self[k]
|
|
714
715
|
|
|
715
716
|
def define(self, event, action=None, state=None, state2=None):
|
|
716
717
|
self.unbind(event, None, state)
|
|
@@ -800,7 +801,7 @@ class FSM(dict):
|
|
|
800
801
|
|
|
801
802
|
|
|
802
803
|
class TreeList(object):
|
|
803
|
-
"""
|
|
804
|
+
"""Tree access wrapper of list<item : (key, value)>
|
|
804
805
|
[
|
|
805
806
|
[key, [item,
|
|
806
807
|
item, ...]],
|
|
@@ -814,8 +815,11 @@ class TreeList(object):
|
|
|
814
815
|
## __getattr__ may be called before __init__.
|
|
815
816
|
__items = None
|
|
816
817
|
|
|
817
|
-
def __init__(self):
|
|
818
|
-
self.__items = []
|
|
818
|
+
def __init__(self, ls=None):
|
|
819
|
+
self.__items = ls or []
|
|
820
|
+
|
|
821
|
+
def __call__(self, k):
|
|
822
|
+
return TreeList(self[k])
|
|
819
823
|
|
|
820
824
|
def __getattr__(self, attr):
|
|
821
825
|
return getattr(self.__items, attr)
|
|
@@ -841,7 +845,28 @@ class TreeList(object):
|
|
|
841
845
|
return self.delf(self.__items, k)
|
|
842
846
|
return self.__items.__delitem__(k)
|
|
843
847
|
|
|
844
|
-
|
|
848
|
+
def items(self):
|
|
849
|
+
def _items(ls, key=None):
|
|
850
|
+
for item in ls:
|
|
851
|
+
try:
|
|
852
|
+
k, v = item
|
|
853
|
+
rootkey = f"{key}/{k}" if key else k
|
|
854
|
+
except Exception:
|
|
855
|
+
yield key, item
|
|
856
|
+
else:
|
|
857
|
+
if v and isinstance(v, (list, tuple)):
|
|
858
|
+
yield from _items(v, rootkey)
|
|
859
|
+
else:
|
|
860
|
+
yield rootkey, v
|
|
861
|
+
yield from _items(self)
|
|
862
|
+
|
|
863
|
+
def _find_item(self, ls, key):
|
|
864
|
+
for x in ls:
|
|
865
|
+
if isinstance(x, (tuple, list)) and x and x[0] == key:
|
|
866
|
+
if len(x) < 2:
|
|
867
|
+
raise ValueError("No value for key={!r}".format(key))
|
|
868
|
+
return x
|
|
869
|
+
|
|
845
870
|
def getf(self, ls, key):
|
|
846
871
|
if '/' in key:
|
|
847
872
|
a, b = key.split('/', 1)
|
|
@@ -849,9 +874,10 @@ class TreeList(object):
|
|
|
849
874
|
if la is not None:
|
|
850
875
|
return self.getf(la, b)
|
|
851
876
|
return None
|
|
852
|
-
|
|
877
|
+
li = self._find_item(ls, key)
|
|
878
|
+
if li is not None:
|
|
879
|
+
return li[-1]
|
|
853
880
|
|
|
854
|
-
@classmethod
|
|
855
881
|
def setf(self, ls, key, value):
|
|
856
882
|
if '/' in key:
|
|
857
883
|
a, b = key.split('/', 1)
|
|
@@ -861,18 +887,17 @@ class TreeList(object):
|
|
|
861
887
|
p, key = key.rsplit('/', 1)
|
|
862
888
|
return self.setf(ls, p, [[key, value]]) # >>> ls[p].append([key, value])
|
|
863
889
|
try:
|
|
864
|
-
li =
|
|
890
|
+
li = self._find_item(ls, key)
|
|
865
891
|
if li is not None:
|
|
866
|
-
|
|
867
|
-
li[-1]
|
|
868
|
-
|
|
869
|
-
li[-1] = value # assign value to
|
|
892
|
+
try:
|
|
893
|
+
li[-1] = value # assign value to item (ls must be a list)
|
|
894
|
+
except TypeError:
|
|
895
|
+
li[-1][:] = value # assign value to items:list
|
|
870
896
|
else:
|
|
871
897
|
ls.append([key, value]) # append to items:list
|
|
872
|
-
except (TypeError, AttributeError) as e:
|
|
898
|
+
except (ValueError, TypeError, AttributeError) as e:
|
|
873
899
|
print("- TreeList:warning {!r}: key={!r}".format(e, key))
|
|
874
900
|
|
|
875
|
-
@classmethod
|
|
876
901
|
def delf(self, ls, key):
|
|
877
902
|
if '/' in key:
|
|
878
903
|
p, key = key.rsplit('/', 1)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
mwx/__init__.py,sha256=CxhKHOhig62F8p6GvP5gii-VvQtSjp9yWJpHvC_Kans,2592
|
|
2
|
+
mwx/controls.py,sha256=d5ZRw21nXxV06QHV5Y9t85Lqm3pLZRoPS27YknC_H54,42455
|
|
3
|
+
mwx/framework.py,sha256=m4iGorLqvdUnsr_6aP3uECEMe55WXAcc5vZY2EdRL98,69041
|
|
4
|
+
mwx/graphman.py,sha256=M5hUEW4hZDlXTOvROab2te68HWb6OVgxakz8Z4iEEy0,69214
|
|
5
|
+
mwx/images.py,sha256=9e8X7OpJ6Z3fF3ez17P_qk2D1NMO10-lN8TCtulAqT0,46248
|
|
6
|
+
mwx/matplot2.py,sha256=OnG33VYvNY9tPbTiUdhM1bibnMwx8Z91hq2Wv7az78s,36000
|
|
7
|
+
mwx/matplot2g.py,sha256=yfF4r6juclU1I1k41lGb_VwxRmp0ktuD8az-wQ26MsE,67727
|
|
8
|
+
mwx/matplot2lg.py,sha256=Dnz_U7K_QkPmsJd18WzZ6PkaTOtWu_IwOgkfEdJv4d0,27606
|
|
9
|
+
mwx/mgplt.py,sha256=49_wpFZUEKErQmtobqrlNKDjWlAsdLft-izlqSyGPD0,6878
|
|
10
|
+
mwx/nutshell.py,sha256=EO4s_67Dk4EiI7h-3vHOzWyI9WnaXl4QQmsVkF7s5Xk,133557
|
|
11
|
+
mwx/utilus.py,sha256=3VaUX_hclVLYixOyDC-4gxxug9_4kMzCTQcDuHs3REA,34863
|
|
12
|
+
mwx/wxmon.py,sha256=Odmh13Ek4oJo9V5uFCTemoWlsPyZt4ITTmYZiKl_BKI,11405
|
|
13
|
+
mwx/wxpdb.py,sha256=WweNxRCaJa3DAO8mkpU57sluTk4oxBEZm44AVBR4vSI,18700
|
|
14
|
+
mwx/wxwil.py,sha256=BUfEF0Nc1E-mVC3Vdz6k1E-2s5J0PO6qEzRQ6lfyePI,5246
|
|
15
|
+
mwx/wxwit.py,sha256=M_jRGJOZge2B4Cq1OsAHqnGjeg56UI-v1BolDybPR-o,7246
|
|
16
|
+
mwx/py/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
mwx/py/filling.py,sha256=NnQnfUVol-Nz4QYZUKFIyRX-Yxp54m5n54Yxza3Iwho,16655
|
|
18
|
+
mwxlib-0.80.0.dist-info/LICENSE,sha256=PGtRKCaTkmUDlBQwpptJAxJtdqxIUtAmdBsaT9nUVkA,1091
|
|
19
|
+
mwxlib-0.80.0.dist-info/METADATA,sha256=8cua-4t5PPXlX-lsmZ587VDduSYK6DdMSieqonWiLQg,1995
|
|
20
|
+
mwxlib-0.80.0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
|
21
|
+
mwxlib-0.80.0.dist-info/top_level.txt,sha256=SI1Mh118AstnUFGPNq5aMNKiAnVNmZk1S9Ij-OwAEpY,4
|
|
22
|
+
mwxlib-0.80.0.dist-info/RECORD,,
|
mwxlib-0.79.8.dist-info/RECORD
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
mwx/__init__.py,sha256=CxhKHOhig62F8p6GvP5gii-VvQtSjp9yWJpHvC_Kans,2592
|
|
2
|
-
mwx/controls.py,sha256=zUAiaJp-eypBjtRCfmL7zbIyOQw3r6mZmlzVrvFLyE4,42324
|
|
3
|
-
mwx/framework.py,sha256=kdWJs4ccryP0ynTtXJPotJ5raQ2k2YKu9VoPqUyFREE,69052
|
|
4
|
-
mwx/graphman.py,sha256=MIN4Ddd-Dc2F_F4DBYJxjcQ3gN661uv2WG7xLYEHxJ0,69846
|
|
5
|
-
mwx/images.py,sha256=9e8X7OpJ6Z3fF3ez17P_qk2D1NMO10-lN8TCtulAqT0,46248
|
|
6
|
-
mwx/matplot2.py,sha256=8eRrf6G4On-wi2F-SizQbOcNFWoJG4P8172PU4ke3mQ,36075
|
|
7
|
-
mwx/matplot2g.py,sha256=fgbeaOsXmQLwur69BSKNh1qS7XokgWCyN_IaTVeUPCE,67611
|
|
8
|
-
mwx/matplot2lg.py,sha256=Uybj8ZpK8N3E7KmTog4Mipf03am6Z6gknautOtC39QY,27837
|
|
9
|
-
mwx/mgplt.py,sha256=49_wpFZUEKErQmtobqrlNKDjWlAsdLft-izlqSyGPD0,6878
|
|
10
|
-
mwx/nutshell.py,sha256=4yMxL9pO9pXIO53PXCtlVbbahKoHlRUliq8e3k8Srpk,133309
|
|
11
|
-
mwx/utilus.py,sha256=c1NRpehYxyE2GzN9mIW3FW6TJPjaZfsilpH9-qw4IJE,34086
|
|
12
|
-
mwx/wxmon.py,sha256=Odmh13Ek4oJo9V5uFCTemoWlsPyZt4ITTmYZiKl_BKI,11405
|
|
13
|
-
mwx/wxpdb.py,sha256=WweNxRCaJa3DAO8mkpU57sluTk4oxBEZm44AVBR4vSI,18700
|
|
14
|
-
mwx/wxwil.py,sha256=BUfEF0Nc1E-mVC3Vdz6k1E-2s5J0PO6qEzRQ6lfyePI,5246
|
|
15
|
-
mwx/wxwit.py,sha256=M_jRGJOZge2B4Cq1OsAHqnGjeg56UI-v1BolDybPR-o,7246
|
|
16
|
-
mwx/py/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
mwx/py/filling.py,sha256=NnQnfUVol-Nz4QYZUKFIyRX-Yxp54m5n54Yxza3Iwho,16655
|
|
18
|
-
mwxlib-0.79.8.dist-info/LICENSE,sha256=PGtRKCaTkmUDlBQwpptJAxJtdqxIUtAmdBsaT9nUVkA,1091
|
|
19
|
-
mwxlib-0.79.8.dist-info/METADATA,sha256=9QEcfsV2sn0hAyu5I3jTQgWlJGI0MvPQTjg52WRzZRQ,1995
|
|
20
|
-
mwxlib-0.79.8.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
|
21
|
-
mwxlib-0.79.8.dist-info/top_level.txt,sha256=SI1Mh118AstnUFGPNq5aMNKiAnVNmZk1S9Ij-OwAEpY,4
|
|
22
|
-
mwxlib-0.79.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|