diff --git a/src/msspec/iodata.py b/src/msspec/iodata.py
index 8a4771b..a5f430a 100644
--- a/src/msspec/iodata.py
+++ b/src/msspec/iodata.py
@@ -17,7 +17,7 @@
# along with this msspec. If not, see .
#
# Source file : src/msspec/iodata.py
-# Last modified: Wed, 18 Jun 2025 11:46:41 +0200
+# Last modified: Wed, 18 Jun 2025 13:30:09 +0200
# Committed by : Sylvain Tricot
@@ -70,8 +70,7 @@ Here is an example of how to store values in a Data object:
import os
import sys
-from distutils.version import LooseVersion
-from distutils.version import StrictVersion
+from looseversion import LooseVersion
from io import StringIO
from datetime import datetime
@@ -80,9 +79,7 @@ from ase.io.extxyz import read_xyz, write_xyz
import h5py
import numpy as np
from lxml import etree
-#from matplotlib.backends.backend_wxagg import FigureCanvasWx as FigureCanvas
from matplotlib.backends.backend_agg import FigureCanvasAgg
-#from matplotlib.backends.backend_cairo import FigureCanvasCairo as FigureCanvasAgg
from matplotlib.figure import Figure
from matplotlib import pyplot as plt
from terminaltables import AsciiTable
@@ -513,9 +510,7 @@ class DataSet(object):
if isinstance(value, t):
fmt = f
break
- #fd.write(' ')
fd.write(fmt.format(value))
- #fd.write(str(value) + ', ')
fd.write('\n')
def __getitem__(self, itemspec):
@@ -560,7 +555,6 @@ class DataSet(object):
def __len__(self):
try:
- #length = len(self._col_arrays[0])
length = 0
for array in self._col_arrays:
length = max(length, len(array))
@@ -953,7 +947,6 @@ class _DataSetView(object):
axes.set_yticklabels(theta_ticks)
cbar = figure.colorbar(im)
- #im.set_clim(0, 0.0275)
elif proj == 'polar':
values[0] = np.radians(values[0])
@@ -1003,7 +996,6 @@ class _DataSetView(object):
root = etree.Element('view', name=self.title)
for key, value in list(plotopts.items()):
root.attrib[key] = str(value)
- #root.attrib['dataset_name'] = self.dataset.title
for tags, cond, legend in zip(self._selection_tags,
self._selection_conditions,
@@ -1021,21 +1013,12 @@ class _DataSetView(object):
def from_xml(self, xmlstr):
root = etree.fromstring(xmlstr)
self.title = root.attrib['name']
- #self._plotopts['title'] = root.attrib['title']
- #self._plotopts['xlabel'] = root.attrib['xlabel']
- # self._plotopts['ylabel'] = root.attrib['ylabel']
- # self._plotopts['grid'] = bool(root.attrib['grid'])
- # self._plotopts['colorbar'] = bool(root.attrib['colorbar'])
- # self._plotopts['projection'] = root.attrib['projection']
- # self._plotopts['marker'] = root.attrib['marker']
for key in list(self._plotopts.keys()):
try:
self._plotopts[key] = eval(root.attrib.get(key))
except:
self._plotopts[key] = root.attrib.get(key)
-
-
legends = []
conditions = []
tags = []
@@ -1095,8 +1078,6 @@ if has_gui:
if is_hidden == "True":
continue
group = datatree.get(p['group'], [])
- #strval = str(p['value'] * p['unit'] if p['unit'] else p['value'])
- #group.append("{:s} = {:s}".format(p['name'], strval))
group.append("{} = {} {}".format(p['name'], p['value'], p['unit']))
datatree[p['group']] = group
@@ -1138,7 +1119,6 @@ if has_gui:
# Add the notebook to hold all graphs
self.notebooks = {}
sizer = wx.BoxSizer(wx.VERTICAL)
- #sizer.Add(self.notebook)
self.SetSizer(sizer)
self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.on_page_changed)
@@ -1155,7 +1135,6 @@ if has_gui:
for dset in self.data:
nb = wx.Notebook(self, -1)
self.notebooks[dset.title] = nb
- #self.GetSizer().Add(nb, 1, wx.ALL|wx.EXPAND)
self.GetSizer().Add(nb, proportion=1, flag=wx.ALL|wx.EXPAND)
for view in dset.get_views():
self.create_page(nb, view)
@@ -1291,13 +1270,6 @@ if has_gui:
cluster_viewer = ClusterViewer(win, size=wx.Size(480, 340))
dset = self.data[self._current_dset]
- #s = StringIO()
- #s.write(dset.get_parameter(group='Cluster', name='cluster')['value'])
- #_s = dset.get_parameter(group='Cluster', name='cluster')['value']
- #print(_s)
- # rewind to the begining of the string
- #s.seek(0)
- #atoms = ase.io.read(s, format='xyz')
atoms = dset.get_cluster()
cluster_viewer.set_atoms(atoms, rescale=True, center=True)
cluster_viewer.rotate_atoms(0., 180.)
@@ -1405,41 +1377,7 @@ if has_gui:
-
-
-
-
-
-
-
-
if __name__ == "__main__":
- if False:
- data = Data('all my data')
- dset = data.add_dset('Dataset 0')
- X = np.arange(0, 20)
- Y = X**2
-
- dset.add_columns(x=X, y=Y, z=X+2, w=Y**3)
- dset.add_parameter(name='truc', group='main', value='3.14', unit='eV')
- dset.add_parameter(name='machin', group='main', value='abc', unit='')
-
- # Z = [0,1]
- #
- # for z in Z:
- # for x, y in zip(X, Y):
- # dset.add_row(x=x, y=y, z=z, random=np.random.rand())
- #
- #
- view = dset.add_view('my view', autoscale=True)
- view.select('x', 'y', where="z<10", legend=r"z = 0")
- view.select('x', 'y', where="z>10", legend=r"z = 1")
- print(dset.get_parameter(group='main'))
- constraint = lambda a, b: (a > 10 and a < 15) and b > 0
- indices = list(map(constraint, dset.x, dset.w))
- print(dset.y[indices])
-
- #data.view()
import sys
data = Data.load(sys.argv[1])
data.view()
diff --git a/src/pip.freeze b/src/pip.freeze
index b418ff4..5e401eb 100644
--- a/src/pip.freeze
+++ b/src/pip.freeze
@@ -1,6 +1,7 @@
ase
h5py
ipython
+looseversion
lxml
matplotlib
numpy