wolfhece 2.1.124__py3-none-any.whl → 2.1.126__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.
wolfhece/wolf_array.py CHANGED
@@ -1912,6 +1912,8 @@ class Ops_Array(wx.Frame):
1912
1912
 
1913
1913
  self.labelling = wx.Button(self.tools, wx.ID_ANY, _("Labelling"), wx.DefaultPosition,wx.DefaultSize, 0)
1914
1914
 
1915
+ self.clean = wx.Button(self.tools, wx.ID_ANY, _("Clean"), wx.DefaultPosition,wx.DefaultSize, 0)
1916
+
1915
1917
  self.extract_selection = wx.Button(self.tools, wx.ID_ANY, _("Extract selection"), wx.DefaultPosition,wx.DefaultSize, 0)
1916
1918
 
1917
1919
  cont_sizer = wx.BoxSizer(wx.HORIZONTAL)
@@ -1926,6 +1928,7 @@ class Ops_Array(wx.Frame):
1926
1928
  Toolssizer.Add(self.nullborder, 1, wx.EXPAND)
1927
1929
  Toolssizer.Add(self.filter_zone, 1, wx.EXPAND)
1928
1930
  Toolssizer.Add(self.labelling, 1, wx.EXPAND)
1931
+ Toolssizer.Add(self.clean, 1, wx.EXPAND)
1929
1932
  Toolssizer.Add(self.extract_selection, 1, wx.EXPAND)
1930
1933
  Toolssizer.Add(cont_sizer, 1, wx.EXPAND)
1931
1934
 
@@ -1933,6 +1936,7 @@ class Ops_Array(wx.Frame):
1933
1936
  self.nullborder.SetToolTip(_("Set null value on the border of the array\n\nYou will be asked for the width of the border (in cells)"))
1934
1937
  self.filter_zone.SetToolTip(_("Filter the array based on contiguous zones\n\nConservation of the ones which contain selected nodes"))
1935
1938
  self.labelling.SetToolTip(_("Labelling of contiguous zones using Scipy.label function\n\nReplacing the current values by the labels"))
1939
+ self.clean.SetToolTip(_("Clean the array\n\nRemove small isolated patches of data"))
1936
1940
  self.extract_selection.SetToolTip(_("Extract the current selection"))
1937
1941
 
1938
1942
  self.tools.SetSizer(Toolssizer)
@@ -2304,6 +2308,7 @@ class Ops_Array(wx.Frame):
2304
2308
  self.ApplyTools.Bind(wx.EVT_BUTTON, self.OnApplyNullvalue)
2305
2309
  self.nullborder.Bind(wx.EVT_BUTTON, self.OnNullBorder)
2306
2310
  self.filter_zone.Bind(wx.EVT_BUTTON, self.OnFilterZone)
2311
+ self.clean.Bind(wx.EVT_BUTTON, self.OnClean)
2307
2312
  self.labelling.Bind(wx.EVT_BUTTON, self.OnLabelling)
2308
2313
  self.extract_selection.Bind(wx.EVT_BUTTON, self.OnExtractSelection)
2309
2314
  self._contour_int.Bind(wx.EVT_BUTTON, self.OnContourInt)
@@ -2743,7 +2748,6 @@ class Ops_Array(wx.Frame):
2743
2748
  def OnFilterZone(self, event:wx.MouseEvent):
2744
2749
  """ Filter the array based on contiguous zones """
2745
2750
 
2746
- pass
2747
2751
  self.parentarray.filter_zone()
2748
2752
 
2749
2753
  dlg = wx.MessageDialog(None, _('Do you want to set null value in the masked data ?'), _('Masked data'), wx.YES_NO | wx.ICON_QUESTION)
@@ -2754,6 +2758,27 @@ class Ops_Array(wx.Frame):
2754
2758
 
2755
2759
  dlg.Destroy()
2756
2760
 
2761
+ def OnClean(self, event:wx.MouseEvent):
2762
+ """ Clean the array -- Remove the isolated cells """
2763
+
2764
+ dlg = wx.NumberEntryDialog(None, 'Minimum number of nodes for a patch to be kept', 'Minimum number of nodes', 'Minimum number of nodes', 10, 1, 1000)
2765
+ if dlg.ShowModal() != wx.ID_OK:
2766
+ dlg.Destroy()
2767
+ return
2768
+
2769
+ minnodes = dlg.GetValue()
2770
+ self.parentarray.clean_small_patches(minnodes)
2771
+
2772
+ dlg.Destroy()
2773
+
2774
+ dlg = wx.MessageDialog(None, _('Do you want to set null value in the masked data ?'), _('Masked data'), wx.YES_NO | wx.ICON_QUESTION)
2775
+ ret = dlg.ShowModal()
2776
+
2777
+ if ret == wx.ID_YES:
2778
+ self.parentarray.set_nullvalue_in_mask()
2779
+
2780
+ dlg.Destroy()
2781
+
2757
2782
  def OnLabelling(self, event:wx.MouseEvent):
2758
2783
  """ Labelling of contiguous zones """
2759
2784
 
@@ -5814,6 +5839,35 @@ class WolfArray(Element_To_Draw, header_wolf):
5814
5839
  if reset_plot:
5815
5840
  self.reset_plot()
5816
5841
 
5842
+ def clean_small_patches(self, min_size:int = 1, set_null:bool = False, reset_plot:bool = True):
5843
+ """ Clean small patches in the array """
5844
+
5845
+ if min_size < 1:
5846
+ logging.error(_('Minimum size must be greater than 1'))
5847
+ return
5848
+
5849
+ # labellisation
5850
+ labeled_array = self.array.data.copy()
5851
+ labeled_array[np.where(self.array.mask)] = 0
5852
+
5853
+ labeled_array, num_features = label(labeled_array,)
5854
+
5855
+ # count the number of elements in each patch
5856
+ patch_size = np.bincount(labeled_array.ravel())
5857
+
5858
+ # mask the small patches
5859
+ mask_small_patches = patch_size < min_size
5860
+ labeled_array[mask_small_patches[labeled_array]] = 0
5861
+
5862
+ # mask data in the array based on the labeled array
5863
+ self.array.mask[labeled_array == 0] = True
5864
+
5865
+ if set_null:
5866
+ self.set_nullvalue_in_mask()
5867
+
5868
+ if reset_plot:
5869
+ self.reset_plot()
5870
+
5817
5871
  def labelling(self, reset_plot:bool = True):
5818
5872
  """
5819
5873
  Labelling of the array using Scipy
@@ -4869,7 +4869,7 @@ class Wolfresults_2D(Element_To_Draw):
4869
4869
  self.get_working_array()
4870
4870
  self.updatepalette(whichpal)
4871
4871
 
4872
- def danger_map(self, start:int=0, end:int=-1, every:int=1) -> Union[tuple[WolfArray, WolfArray, WolfArray, WolfArray], tuple[WolfArrayMB, WolfArrayMB, WolfArrayMB, WolfArrayMB]]:
4872
+ def danger_map(self, start:int=0, end:int=-1, every:int=1, callback=None) -> Union[tuple[WolfArray, WolfArray, WolfArray, WolfArray], tuple[WolfArrayMB, WolfArrayMB, WolfArrayMB, WolfArrayMB]]:
4873
4873
  """
4874
4874
  Create Danger Maps
4875
4875
 
@@ -4877,7 +4877,7 @@ class Wolfresults_2D(Element_To_Draw):
4877
4877
  :param end: end time step - 0-based
4878
4878
  :param every: step interval
4879
4879
 
4880
- :return : tuple of WolfArray or WolfArrayMB - H, U_norm, Q_norm, Z
4880
+ :return : tuple of WolfArray or WolfArrayMB - H, U_norm, Q_norm, Z, Head
4881
4881
  """
4882
4882
 
4883
4883
  # Number of time steps
@@ -4892,8 +4892,9 @@ class Wolfresults_2D(Element_To_Draw):
4892
4892
  danger_map_matrix_v = self.as_WolfArray(copyarray=True)
4893
4893
  danger_map_matrix_mom = self.as_WolfArray(copyarray=True)
4894
4894
  danger_map_matrix_z = self.as_WolfArray(copyarray=True)
4895
+ danger_map_matrix_head= self.as_WolfArray(copyarray=True)
4895
4896
 
4896
- danger = [danger_map_matrix_h, danger_map_matrix_v, danger_map_matrix_mom, danger_map_matrix_z]
4897
+ danger = [danger_map_matrix_h, danger_map_matrix_v, danger_map_matrix_mom, danger_map_matrix_z, danger_map_matrix_head]
4897
4898
 
4898
4899
  for curdanger in danger:
4899
4900
  curdanger.nullvalue = 0.
@@ -4902,6 +4903,9 @@ class Wolfresults_2D(Element_To_Draw):
4902
4903
 
4903
4904
  for time_step in tqdm(range(start, end, every)):
4904
4905
 
4906
+ if callback is not None:
4907
+ callback(time_step, "Step {} / {}".format(time_step+1, end))
4908
+
4905
4909
  self.read_oneresult(time_step+1)
4906
4910
 
4907
4911
  if self.nb_blocks>1:
@@ -4919,13 +4923,15 @@ class Wolfresults_2D(Element_To_Draw):
4919
4923
  mom = np.zeros_like(wd.array)
4920
4924
  v = np.zeros_like(wd.array)
4921
4925
  z = np.zeros_like(wd.array)
4926
+ head = np.zeros_like(wd.array)
4922
4927
 
4923
4928
  mom[ij] = (qx.array[ij]**2.+qy.array[ij]**2.)**.5
4924
4929
  v[ij] = mom[ij]/wd.array[ij]
4925
4930
  z[ij] = wd.array[ij] + top.array[ij]
4931
+ head[ij]= z[ij] + v[ij]**2./2/9.81
4926
4932
 
4927
4933
  # Comparison
4928
- for curdanger, curcomp in zip(danger, [wd.array, v, mom, z]):
4934
+ for curdanger, curcomp in zip(danger, [wd.array, v, mom, z, head]):
4929
4935
  ij = np.where((curdanger.array < curcomp) & (~wd.array.mask))
4930
4936
  curdanger.array.data[ij] = curcomp[ij]
4931
4937
  curdanger.array.mask[ij] = False
@@ -4943,13 +4949,15 @@ class Wolfresults_2D(Element_To_Draw):
4943
4949
  mom = np.zeros_like(wd.array)
4944
4950
  v = np.zeros_like(wd.array)
4945
4951
  z = np.zeros_like(wd.array)
4952
+ head= np.zeros_like(wd.array)
4946
4953
 
4947
4954
  mom[ij] = (qx.array[ij]**2.+qy.array[ij]**2.)**.5
4948
4955
  v[ij] = mom[ij]/wd.array[ij]
4949
4956
  z[ij] = wd.array[ij] + top.array[ij]
4957
+ head[ij]= z[ij] + v[ij]**2./2/9.81
4950
4958
 
4951
4959
  # Comparison
4952
- for curdanger, curcomp in zip(danger, [wd.array, v, mom, z]):
4960
+ for curdanger, curcomp in zip(danger, [wd.array, v, mom, z, head]):
4953
4961
  ij = np.where((curdanger.array < curcomp) & (~wd.array.mask))
4954
4962
  curdanger.array.data[ij] = curcomp[ij]
4955
4963
  curdanger.array.mask[ij] = False
@@ -4961,12 +4969,14 @@ class Wolfresults_2D(Element_To_Draw):
4961
4969
  danger_map_matrix_v[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
4962
4970
  danger_map_matrix_mom[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
4963
4971
  danger_map_matrix_z[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
4972
+ danger_map_matrix_head[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
4964
4973
  else:
4965
4974
  danger_map_matrix_v.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
4966
4975
  danger_map_matrix_mom.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
4967
4976
  danger_map_matrix_z.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
4977
+ danger_map_matrix_head.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
4968
4978
 
4969
- return (danger_map_matrix_h, danger_map_matrix_v, danger_map_matrix_mom, danger_map_matrix_z)
4979
+ return (danger_map_matrix_h, danger_map_matrix_v, danger_map_matrix_mom, danger_map_matrix_z, danger_map_matrix_head)
4970
4980
 
4971
4981
  def danger_map_only_h(self, start:int=0, end:int=-1, every:int=1) -> WolfArray:
4972
4982
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: wolfhece
3
- Version: 2.1.124
3
+ Version: 2.1.126
4
4
  Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
5
5
  License: Copyright (c) 2024 University of Liege. All rights reserved.
6
6
  Project-URL: Homepage, https://uee.uliege.be/hece
@@ -7,7 +7,7 @@ wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
7
7
  wolfhece/Model1D.py,sha256=SI4oNF_J3MdjiWZoizS8kuRXLMVyymX9dYfYJNVCQVI,476989
8
8
  wolfhece/PyConfig.py,sha256=gyl1MesSJZaVpC1XtvD78PpnE1VD3hGM3HPQXTJ3eJg,12963
9
9
  wolfhece/PyCrosssections.py,sha256=igU_ELrg5VrHU6RNbF5tHxPyVImpR3xdpfopJYc7haw,114711
10
- wolfhece/PyDraw.py,sha256=d4VmLpDLnbR_jw1Bjp8Hd7GX-0MiABaRFFBZWTX6qhY,568550
10
+ wolfhece/PyDraw.py,sha256=CkNGIgPd5gSokggiJabVME1XzYDVDbBFuyMT_iJB9p0,568998
11
11
  wolfhece/PyGui.py,sha256=5ANCUmsBwsx_h-GWqV9xwnSQyGJ16mSObOm-h3_7LIQ,144708
12
12
  wolfhece/PyGuiHydrology.py,sha256=f60E8K9eGTnRq5RDF6yvt-ahf2AYegwQ9t25zZ2Mk1A,14946
13
13
  wolfhece/PyHydrographs.py,sha256=jwtSNMMACwarxrtN1UeQYth99UNrhwPx1IGgUwcooHA,3774
@@ -52,19 +52,19 @@ wolfhece/pywalous.py,sha256=mWB7UxlYMIbPxNUDlONQEjcOOy9VSaRU9aYWZ5IFLu8,19164
52
52
  wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
53
53
  wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
54
54
  wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
55
- wolfhece/wolf_array.py,sha256=gmuF101KybiAu-FG40AlW69LY3pPUJsk8XYA2fPLV5U,439885
55
+ wolfhece/wolf_array.py,sha256=WeScyyq1USIOcMt2ew35QbJzk6ZDRXQRrGvwyPu3Tx8,441902
56
56
  wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
57
57
  wolfhece/wolf_texture.py,sha256=ecoXXmmcLuyG1oPqU2dB_k03qMTCLTVQoSq1xi1EalU,17359
58
58
  wolfhece/wolf_tiles.py,sha256=v-HohqaWuMYdn75XLnA22dlloAG90iwnIqrgnB0ASQ4,10488
59
59
  wolfhece/wolf_vrt.py,sha256=wbxXVN7TL9zgdyF79S-4e3pje6wJEAgBEfF_Y8kkzxs,14271
60
60
  wolfhece/wolf_zi_db.py,sha256=baE0niMCzybWGSvPJc5FNxo9ZxsGfU4p-FmfiavFHAs,12967
61
- wolfhece/wolfresults_2D.py,sha256=qCaU9BR_vPmFn_sAPUfiCgrC_Fy-CP9p1RV2HOOuwLc,203341
61
+ wolfhece/wolfresults_2D.py,sha256=R5KyM_m6g3h5mOXo3Fci8jfttSO0tS8oPwk1MiaJaZ0,204004
62
62
  wolfhece/xyz_file.py,sha256=1pzLFmmdHca4yBVR9Jitic6N82rY28mRytGC1zMbY28,6615
63
63
  wolfhece/acceptability/Parallels.py,sha256=njrJFH_tTdQUg2px-QqQR6VdhImP1TEujLhpM3JEKNo,4001
64
64
  wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
65
65
  wolfhece/acceptability/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
66
66
  wolfhece/acceptability/acceptability.py,sha256=dLsYVwPiYH33M7y2vVzlLVd9q8dLgDIeTuJ8f20L4ig,28006
67
- wolfhece/acceptability/acceptability_gui.py,sha256=AhIMnVlMPtqycbfeiDonJkjdlFOnvrBzBxXZobSIRJs,75633
67
+ wolfhece/acceptability/acceptability_gui.py,sha256=fK9oRc75NfP1-9q0O4s6LG18L8OQTIyoQPfgv_DWx5k,74030
68
68
  wolfhece/acceptability/cli.py,sha256=ul_GmDnSgKSgA7z5ZIzeA_MlS2uqo-Xi48bqmWUS-Qk,19141
69
69
  wolfhece/acceptability/func.py,sha256=e-E73GFUAeqUy8j5HaA7GHnx12_gABCj0erWAtOqUfA,68241
70
70
  wolfhece/apps/ManageParams.py,sha256=9okXHGHKEayA9iKTnv8jsVYCP2up5kr6hDaKO_fMCaQ,748
@@ -80,7 +80,7 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
80
80
  wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
81
81
  wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
82
82
  wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
83
- wolfhece/apps/version.py,sha256=vKWzYKmXCd1RCcT66fDHO8Udxy0xzt6HlLaQF0NL_2w,389
83
+ wolfhece/apps/version.py,sha256=UIqgv5JPHoD2r7Ney7Go6P3kWMdWMylqgNdriVFXJKo,389
84
84
  wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
85
85
  wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
86
86
  wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
@@ -154,7 +154,7 @@ wolfhece/lagrangian/particles.py,sha256=S52_-3rzgVhift6l4Gznvsf_RTggzvNaD1dPvQUr
154
154
  wolfhece/lagrangian/velocity_field.py,sha256=oGVjNm98gEpawreFIrC1lDyC5bEhkk2CsyYAlF1Kq50,10574
155
155
  wolfhece/lazviewer/__init__.py,sha256=lz60EpQOBZ-zjvYzff6Y11jzAmC7mjOaxRYAfoqizQs,473
156
156
  wolfhece/lazviewer/_add_path.py,sha256=XgMEXRhFhx9-B1hUsP7Zr199zNljYwT5dGMYSB9jRa4,639
157
- wolfhece/lazviewer/laz_viewer.py,sha256=QZbQLX0Kz0VdqGvdpCwA6-9_Q1kGi0DJ4u9ygA9luEY,77339
157
+ wolfhece/lazviewer/laz_viewer.py,sha256=vq3IrGNnGPuBzIe4fg4mxjhWdGiBHu95Smvst5sdUmE,80822
158
158
  wolfhece/lazviewer/libs/Qt5Core.dll,sha256=sTJ_ctYFY9KHMNytF-lzH_078zIvnKTjN-71FDkOWPw,4924928
159
159
  wolfhece/lazviewer/libs/Qt5Gui.dll,sha256=07BeaOeYByraGkKYeDiSDYLawHM8tyd55pVJlKbZ4Y0,5436416
160
160
  wolfhece/lazviewer/libs/Qt5Network.dll,sha256=U-9FiLE9LUKru8r8EQxTnwwlMpwS8JzUtenhkKTCox0,1038336
@@ -223,7 +223,7 @@ wolfhece/mar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
223
  wolfhece/mar/commontools.py,sha256=SiSxpv5BFYEBCEydsE4ZmBuot3KTy0UYMx2aa-4fbuQ,52549
224
224
  wolfhece/mar/interface_MAR_WOLF.py,sha256=MWeXaHLDT4Eo9jZOAvz013lmpgGYT1v9VUYGAgBgSRU,21454
225
225
  wolfhece/math_parser/__init__.py,sha256=Mi7YTrlJtcflyrRdZHHgE-uNPUFfOWmsf8FsOwKBRPI,27961
226
- wolfhece/math_parser/calculator.py,sha256=DgRJ5OgEK11Tb24zGvYZXiT3PpCTaXX_0IXxrZkyNIg,7449
226
+ wolfhece/math_parser/calculator.py,sha256=e9KVemvVqYofWYEwu_wgMhu4EhmcL6dY790DOwDdxTs,7448
227
227
  wolfhece/mesh2d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
228
  wolfhece/mesh2d/bc_manager.py,sha256=fKED0RhUjCmd0xd0lcOeZqiga5Glqs1ag1boYhXlq0k,54232
229
229
  wolfhece/mesh2d/cell_tracker.py,sha256=mPmnD5lEf3gLPuLqtAIo-Gp-ipAwQdPxzjWOGt0b7jM,8958
@@ -286,6 +286,10 @@ wolfhece/shaders/simple_vertex_shader.glsl,sha256=crJlvIx-nNcUpKyK4KpJWR789xG-Rq
286
286
  wolfhece/shaders/simple_vertex_shader_mvp.glsl,sha256=4uMy9GFutnVkdwrfe9BdoPVAaFjdKwcX4eKVakug3zg,229
287
287
  wolfhece/shaders/simple_vertex_shader_wo_mvp.glsl,sha256=CT5dr1s0kdL90MtZi22DelFzFVns-w0XcrVbPan6yOc,122
288
288
  wolfhece/shaders/vertex_shader_texture.glsl,sha256=8CmklD7-H57iPWhf5nQpGpqIW1uXvcz2kTBVZh-1F8Q,214
289
+ wolfhece/sigmoid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
290
+ wolfhece/sigmoid/circle_jax.py,sha256=3CrOViLTvt6ZtQPY_1rOe0Qp_AgwdOKhWwpbG5vBki0,4305
291
+ wolfhece/sigmoid/circle_jax_copilot.py,sha256=fF8vwY_q_i8_u-anGpVXJ5aZEdx3KC3kuYsZZlaGZwE,5952
292
+ wolfhece/sigmoid/sigmoid.py,sha256=2yCJsmxIlOk9t5xgW03922gtE-B7fWTSyJmVZwbhFn4,30592
289
293
  wolfhece/sounds/son12.wav,sha256=iZJYSrKkE4HLXJwWzszVR07w_3d-WLO8npFlUcxQlrc,12664
290
294
  wolfhece/sounds/son6.wav,sha256=v7CFE-PlGvVcRC3oAaWBBGngutCDS_MUiCIhNHkpv2Y,7884
291
295
  wolfhece/sounds/sonsw1.wav,sha256=HhuGeZ3iIyJdDALmM-jvGZDkKw3IZ3JXCuQZkN3Zjtc,212550
@@ -295,8 +299,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
295
299
  wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
296
300
  wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
297
301
  wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
298
- wolfhece-2.1.124.dist-info/METADATA,sha256=jCOH--k0Mh3lNE5lm5hjJkmMzisMo7oVWtFYJm1qw-Q,2587
299
- wolfhece-2.1.124.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
300
- wolfhece-2.1.124.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
301
- wolfhece-2.1.124.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
302
- wolfhece-2.1.124.dist-info/RECORD,,
302
+ wolfhece-2.1.126.dist-info/METADATA,sha256=hmEqfYiCm4H8SOEmJe1qoJbjBXFa1FTHc4xHjG7i9C8,2587
303
+ wolfhece-2.1.126.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
304
+ wolfhece-2.1.126.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
305
+ wolfhece-2.1.126.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
306
+ wolfhece-2.1.126.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (75.8.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5