wolfhece 2.1.44__py3-none-any.whl → 2.1.46__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/PyDraw.py +13 -9
- wolfhece/PyGui.py +64 -32
- wolfhece/apps/check_install.py +12 -3
- wolfhece/apps/version.py +1 -1
- wolfhece/libs/__init__.py +79 -0
- wolfhece/scenario/config_manager.py +6 -0
- wolfhece/wolf_array.py +46 -5
- {wolfhece-2.1.44.dist-info → wolfhece-2.1.46.dist-info}/METADATA +2 -1
- {wolfhece-2.1.44.dist-info → wolfhece-2.1.46.dist-info}/RECORD +12 -11
- {wolfhece-2.1.44.dist-info → wolfhece-2.1.46.dist-info}/entry_points.txt +1 -0
- {wolfhece-2.1.44.dist-info → wolfhece-2.1.46.dist-info}/WHEEL +0 -0
- {wolfhece-2.1.44.dist-info → wolfhece-2.1.46.dist-info}/top_level.txt +0 -0
wolfhece/PyDraw.py
CHANGED
@@ -5520,8 +5520,8 @@ class WolfMapViewer(wx.Frame):
|
|
5520
5520
|
del wait
|
5521
5521
|
|
5522
5522
|
def export_shape(self, outdir='', fn = '', myarrays=[], descr=[], mask:WolfArray=None):
|
5523
|
-
""" Export multiple arrays to shapefile
|
5524
|
-
|
5523
|
+
""" Export multiple arrays to shapefile
|
5524
|
+
|
5525
5525
|
:param outdir: output directory
|
5526
5526
|
:param fn: filename -- .shp will be added if not present
|
5527
5527
|
:param myarrays: list of Wolfarrays to export
|
@@ -5598,12 +5598,12 @@ class WolfMapViewer(wx.Frame):
|
|
5598
5598
|
|
5599
5599
|
def export_geotif(self, outdir='', fn = '', myarrays=[], descr=[]):
|
5600
5600
|
""" Export multiple arrays to geotiff
|
5601
|
-
|
5601
|
+
|
5602
5602
|
:param outdir: output directory
|
5603
5603
|
:param fn: filename -- .tif will be added if not present
|
5604
5604
|
:param myarrays: list of Wolfarrays to export
|
5605
|
-
:param descr: list of descriptions -- Bands names
|
5606
|
-
|
5605
|
+
:param descr: list of descriptions -- Bands names
|
5606
|
+
|
5607
5607
|
"""
|
5608
5608
|
|
5609
5609
|
if len(myarrays)==0:
|
@@ -6832,7 +6832,7 @@ class WolfMapViewer(wx.Frame):
|
|
6832
6832
|
self.add_object('array', newobj=mb, id=self.selected_object.idx + '_mb')
|
6833
6833
|
else:
|
6834
6834
|
logging.warning(_('Convert to multi-blocks not yet implemented for this type of object'))
|
6835
|
-
|
6835
|
+
|
6836
6836
|
elif _('Export to Shape file') in text:
|
6837
6837
|
|
6838
6838
|
if isinstance(self.selected_object, Zones):
|
@@ -6845,9 +6845,9 @@ class WolfMapViewer(wx.Frame):
|
|
6845
6845
|
fdlg.Destroy()
|
6846
6846
|
|
6847
6847
|
elif _('Export active zone to Shape file') in text:
|
6848
|
-
|
6848
|
+
|
6849
6849
|
if isinstance(self.selected_object, Zones):
|
6850
|
-
|
6850
|
+
|
6851
6851
|
filterArray = "Shapefile (*.shp)|*.shp"
|
6852
6852
|
fdlg = wx.FileDialog(self, "Choose file name for Vector :" + self.selected_object.idx, wildcard=filterArray,
|
6853
6853
|
style=wx.FD_SAVE)
|
@@ -7508,6 +7508,8 @@ class WolfMapViewer(wx.Frame):
|
|
7508
7508
|
if self.active_array.nb_blocks > 0:
|
7509
7509
|
txt += ' ; Nb blocks : {:d}'.format(self.active_array.nb_blocks)
|
7510
7510
|
|
7511
|
+
txt += ' ; Type : ' + self.active_array.dtype_str
|
7512
|
+
|
7511
7513
|
self.StatusBar.SetStatusText(txt)
|
7512
7514
|
|
7513
7515
|
|
@@ -7876,7 +7878,7 @@ class WolfMapViewer(wx.Frame):
|
|
7876
7878
|
if self.action == 'dynamic parallel':
|
7877
7879
|
self.active_zone.parallel_active(self.dynapar_dist)
|
7878
7880
|
|
7879
|
-
self.
|
7881
|
+
self.Paint()
|
7880
7882
|
|
7881
7883
|
self._last_mouse_pos = (x,y,pos)
|
7882
7884
|
self._update_mytooltip()
|
@@ -8393,6 +8395,8 @@ class WolfMapViewer(wx.Frame):
|
|
8393
8395
|
if not altdown:
|
8394
8396
|
newarray.mask_outsidepoly(self.active_vector)
|
8395
8397
|
|
8398
|
+
newarray.nullify_border(width=1)
|
8399
|
+
|
8396
8400
|
self.add_object('array', newobj = newarray, id = self.active_array.idx + '_crop')
|
8397
8401
|
|
8398
8402
|
self.Refresh()
|
wolfhece/PyGui.py
CHANGED
@@ -7,38 +7,70 @@ Copyright (c) 2024 University of Liege. All rights reserved.
|
|
7
7
|
This script and its content are protected by copyright law. Unauthorized
|
8
8
|
copying or distribution of this file, via any medium, is strictly prohibited.
|
9
9
|
"""
|
10
|
-
|
11
|
-
from os import scandir, getcwd, makedirs
|
12
|
-
from os.path import exists, join, isdir, isfile, dirname, normpath, splitext
|
13
|
-
from pathlib import Path
|
14
|
-
import numpy.ma as ma
|
15
|
-
import wx
|
16
|
-
import wx.adv
|
17
|
-
from wx.lib.busy import BusyInfo
|
18
|
-
import logging
|
19
|
-
from pathlib import Path
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
from .
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
from .
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
from .
|
10
|
+
try:
|
11
|
+
from os import scandir, getcwd, makedirs
|
12
|
+
from os.path import exists, join, isdir, isfile, dirname, normpath, splitext
|
13
|
+
from pathlib import Path
|
14
|
+
import numpy.ma as ma
|
15
|
+
import wx
|
16
|
+
import wx.adv
|
17
|
+
from wx.lib.busy import BusyInfo
|
18
|
+
import logging
|
19
|
+
from pathlib import Path
|
20
|
+
except ImportError as e:
|
21
|
+
print(f"Import Error: {e} - extern modules")
|
22
|
+
print("Please install the required modules using 'pip install -r requirements.txt'")
|
23
|
+
|
24
|
+
try:
|
25
|
+
from .apps.splashscreen import WolfLauncher
|
26
|
+
except ImportError as e:
|
27
|
+
print(f"Import Error: {e} - Splashscreen")
|
28
|
+
print("Please install the required modules using 'pip install -r requirements.txt'")
|
29
|
+
|
30
|
+
try:
|
31
|
+
from .wolf_array import WOLF_ARRAY_FULL_LOGICAL, WOLF_ARRAY_MB_SINGLE, WolfArray, getkeyblock, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_MB_INTEGER
|
32
|
+
except ImportError as e:
|
33
|
+
print(f"Import Error: {e} - WolfArray")
|
34
|
+
print("Please install the required modules using 'pip install -r requirements.txt'")
|
35
|
+
try:
|
36
|
+
from .PyTranslate import _
|
37
|
+
except ImportError as e:
|
38
|
+
print(f"Import Error: {e} - PyTranslate")
|
39
|
+
print("Please install the required modules using 'pip install -r requirements.txt'")
|
40
|
+
try:
|
41
|
+
from .PyDraw import WolfMapViewer,imagetexture, draw_type
|
42
|
+
except ImportError as e:
|
43
|
+
print(f"Import Error: {e} - PyDraw")
|
44
|
+
print("Please install the required modules using 'pip install -r requirements.txt'")
|
45
|
+
|
46
|
+
try:
|
47
|
+
from .hydrometry.kiwis_wolfgui import hydrometry_wolfgui
|
48
|
+
except ImportError as e:
|
49
|
+
print(f"Import Error: {e} - hydrometry_wolfgui")
|
50
|
+
print("Please install the required modules using 'pip install -r requirements.txt'")
|
51
|
+
|
52
|
+
try:
|
53
|
+
from .PyConfig import WolfConfiguration, ConfigurationKeys
|
54
|
+
from .pylogging import create_wxlogwindow
|
55
|
+
except ImportError as e:
|
56
|
+
print(f"Import Error: {e} - PyConfig, pylogging")
|
57
|
+
print("Please install the required modules using 'pip install -r requirements.txt'")
|
58
|
+
|
59
|
+
try:
|
60
|
+
from .RatingCurve import SPWMIGaugingStations,SPWDCENNGaugingStations
|
61
|
+
from .mesh2d.wolf2dprev import *
|
62
|
+
from .Results2DGPU import wolfres2DGPU
|
63
|
+
from .PyGuiHydrology import GuiHydrology
|
64
|
+
from .RatingCurve import SPWMIGaugingStations,SPWDCENNGaugingStations
|
65
|
+
from .hydrology.Catchment import Catchment
|
66
|
+
from .hydrology.forcedexchanges import forced_exchanges
|
67
|
+
from .PyParams import Wolf_Param
|
68
|
+
from .picc import Picc_data, Cadaster_data
|
69
|
+
from .wolf_zi_db import ZI_Databse_Elt, PlansTerrier
|
70
|
+
from .CpGrid import CpGrid
|
71
|
+
except ImportError as e:
|
72
|
+
print(f"Import Error: {e} - RatingCurve, mesh2d, Results2DGPU, PyGuiHydrology, RatingCurve, hydrology, PyParams, picc, wolf_zi_db, CpGrid")
|
73
|
+
print("Please install the required modules using 'pip install -r requirements.txt'")
|
42
74
|
|
43
75
|
|
44
76
|
GEOM_GROUP_NAME = _('Block geometry')
|
wolfhece/apps/check_install.py
CHANGED
@@ -15,14 +15,23 @@ def main():
|
|
15
15
|
try:
|
16
16
|
from osgeo import ogr, gdal
|
17
17
|
ret += 'GDAL/OGR installed\n\n'
|
18
|
-
except:
|
18
|
+
except ImportError as e:
|
19
19
|
ret += 'GDAL/OGR not installed\n Please install GDAL from https://github.com/cgohlke/geospatial-wheels/releases\n\n'
|
20
|
+
ret += 'Error : ' + str(e) + '\n\n'
|
20
21
|
|
22
|
+
try:
|
23
|
+
from ..libs import wolfpy
|
24
|
+
ret += 'Wolfpy accessible\n\n'
|
25
|
+
except ImportError as e:
|
26
|
+
ret += 'Wolfpy not accessible\n\n'
|
27
|
+
ret += 'Error : ' + str(e) + '\n\n'
|
28
|
+
|
21
29
|
try:
|
22
30
|
from ..PyGui import MapManager
|
23
31
|
ret += 'Wolfhece installed\n\n'
|
24
|
-
except:
|
25
|
-
ret += 'Wolfhece not installed\n Retry installation : pip install wolfhece or pip install wolfhece --upgrade\n\n'
|
32
|
+
except ImportError as e:
|
33
|
+
ret += 'Wolfhece not installed properly\n Retry installation : pip install wolfhece or pip install wolfhece --upgrade\n\n'
|
34
|
+
ret += 'Error : ' + str(e) + '\n\n'
|
26
35
|
|
27
36
|
print(ret)
|
28
37
|
|
wolfhece/apps/version.py
CHANGED
@@ -0,0 +1,79 @@
|
|
1
|
+
from pathlib import Path
|
2
|
+
import sys
|
3
|
+
import os
|
4
|
+
import shutil
|
5
|
+
|
6
|
+
MKL_DLLS = ['libiomp5md.dll',
|
7
|
+
'mkl_core.2.dll',
|
8
|
+
'mkl_intel_thread.2.dll',
|
9
|
+
'mkl_rt.2.dll']
|
10
|
+
FORTRAN_DLLS = ['libifcoremd.dll',
|
11
|
+
'libifcoremdd.dll',
|
12
|
+
'libmmd.dll',
|
13
|
+
'libifportmd.dll',
|
14
|
+
'libmmdd.dll',
|
15
|
+
'svml_dispmd.dll',
|
16
|
+
'libiomp5md.dll']
|
17
|
+
# VC_RUNTIME_DLLS = ['vcruntime140.dll',
|
18
|
+
# 'vcruntime140_1.dll']
|
19
|
+
# HDF5_DLLS = ['hdf5.dll',
|
20
|
+
# 'hdf5_hl.dll']
|
21
|
+
|
22
|
+
interpreter_path = Path(sys.executable).parent
|
23
|
+
library_bin_path = interpreter_path / 'Library' / 'bin'
|
24
|
+
if not library_bin_path.exists():
|
25
|
+
if 'Scripts' in interpreter_path.parts:
|
26
|
+
library_bin_path = interpreter_path.parent / 'Library' / 'bin'
|
27
|
+
|
28
|
+
h5py_path = interpreter_path / 'Lib' / 'site-packages' / 'h5py'
|
29
|
+
mydir = Path(__file__).parent
|
30
|
+
|
31
|
+
|
32
|
+
error = False
|
33
|
+
if library_bin_path.exists():
|
34
|
+
for dll in MKL_DLLS:
|
35
|
+
dll_path = library_bin_path / dll
|
36
|
+
if not dll_path.exists():
|
37
|
+
error = True
|
38
|
+
print(f"Missing DLL: {dll}")
|
39
|
+
else:
|
40
|
+
if not (mydir / dll).exists():
|
41
|
+
shutil.copy(dll_path, mydir / dll)
|
42
|
+
|
43
|
+
# for dll in VC_RUNTIME_DLLS:
|
44
|
+
# dll_path = interpreter_path / dll
|
45
|
+
# if not dll_path.exists():
|
46
|
+
# error = True
|
47
|
+
# print(f"Missing DLL: {dll}")
|
48
|
+
# else:
|
49
|
+
# if not (mydir / dll).exists():
|
50
|
+
# shutil.copy(dll_path, mydir / dll)
|
51
|
+
|
52
|
+
for dll in FORTRAN_DLLS:
|
53
|
+
dll_path = library_bin_path / dll
|
54
|
+
if not dll_path.exists():
|
55
|
+
error = True
|
56
|
+
print(f"Missing DLL: {dll}")
|
57
|
+
else:
|
58
|
+
if not (mydir / dll).exists():
|
59
|
+
shutil.copy(dll_path, mydir / dll)
|
60
|
+
|
61
|
+
else:
|
62
|
+
error = True
|
63
|
+
print("Library/bin directory not found -- Impossible to copy DLLs.")
|
64
|
+
|
65
|
+
# if h5py_path.exists():
|
66
|
+
# for dll in HDF5_DLLS:
|
67
|
+
# dll_path = h5py_path / dll
|
68
|
+
# if not dll_path.exists():
|
69
|
+
# error = True
|
70
|
+
# print(f"Missing DLL: {dll}")
|
71
|
+
# else:
|
72
|
+
# if not (mydir / dll).exists():
|
73
|
+
# shutil.copy(dll_path, mydir / dll)
|
74
|
+
# else:
|
75
|
+
# error = True
|
76
|
+
# print("h5py directory not found.")
|
77
|
+
|
78
|
+
if error:
|
79
|
+
raise FileNotFoundError("Missing DLLs. Please check the output above.")
|
@@ -746,6 +746,7 @@ class Config_Manager_2D_GPU:
|
|
746
746
|
new_zones.add_zone(new_zone)
|
747
747
|
|
748
748
|
curarray = WolfArray(curtif)
|
749
|
+
curarray.nullify_border(width=1)
|
749
750
|
sux, sux, curvect, interior = curarray.suxsuy_contour()
|
750
751
|
new_zone.add_vector(curvect, forceparent=True)
|
751
752
|
curvect.set_legend_to_centroid(curtif.name)
|
@@ -1481,6 +1482,10 @@ class UI_Manager_2D_GPU():
|
|
1481
1482
|
logging.info(_('Creating vecz ...'))
|
1482
1483
|
mydata = self._treelist.GetItemData(self._selected_item)
|
1483
1484
|
|
1485
|
+
if not 'path' in mydata:
|
1486
|
+
logging.error(_('Please select a scenario to analyze !'))
|
1487
|
+
return
|
1488
|
+
|
1484
1489
|
# création du fichier vrt
|
1485
1490
|
new_zones = self._parent.create_vec(mydata['path'])
|
1486
1491
|
logging.info(_('... done !'))
|
@@ -1616,6 +1621,7 @@ class UI_Manager_2D_GPU():
|
|
1616
1621
|
destroy_if_exists = ret == wx.ID_YES
|
1617
1622
|
dlg.Destroy()
|
1618
1623
|
|
1624
|
+
preserve_ic = False
|
1619
1625
|
if not destroy_if_exists:
|
1620
1626
|
dlg = wx.MessageDialog(None, _('Do you want to preserve initial conditions ?'), _('Warning'), wx.YES_NO)
|
1621
1627
|
ret = dlg.ShowModal()
|
wolfhece/wolf_array.py
CHANGED
@@ -4613,6 +4613,36 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
4613
4613
|
|
4614
4614
|
return dtype
|
4615
4615
|
|
4616
|
+
@property
|
4617
|
+
def dtype_str(self):
|
4618
|
+
"""
|
4619
|
+
Return the numpy dtype corresponding to the WOLF type, as a string
|
4620
|
+
|
4621
|
+
Pay ettention to the difference between :
|
4622
|
+
- LOGICAL : Fortran and VB6
|
4623
|
+
- Bool : Python
|
4624
|
+
|
4625
|
+
In VB6, logical is stored as int16
|
4626
|
+
In Fortran, there are Logical*1, Logical*2, Logical*4, Logical*8
|
4627
|
+
In Python, bool is one byte
|
4628
|
+
In Numpy, np.bool_ is one byte
|
4629
|
+
"""
|
4630
|
+
|
4631
|
+
if self.wolftype in [WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_SYM_DOUBLE, WOLF_ARRAY_CSR_DOUBLE]:
|
4632
|
+
dtype = _('float64 - 8 bytes poer values')
|
4633
|
+
elif self.wolftype in [WOLF_ARRAY_FULL_SINGLE, WOLF_ARRAY_FULL_SINGLE_3D, WOLF_ARRAY_MB_SINGLE]:
|
4634
|
+
dtype = _('float32 - 4 bytes per values')
|
4635
|
+
elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_MB_INTEGER, WOLF_ARRAY_MNAP_INTEGER]:
|
4636
|
+
dtype = _('int32 - 4 bytes per values')
|
4637
|
+
elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2]:
|
4638
|
+
dtype = _('int16 - 2 bytes per values')
|
4639
|
+
elif self.wolftype == WOLF_ARRAY_FULL_INTEGER8:
|
4640
|
+
dtype = _('int8 - 1 byte per values')
|
4641
|
+
elif self.wolftype == WOLF_ARRAY_FULL_LOGICAL:
|
4642
|
+
dtype = _('int16 - 2 bytes per values')
|
4643
|
+
|
4644
|
+
return dtype
|
4645
|
+
|
4616
4646
|
def loadnap_and_apply(self):
|
4617
4647
|
"""
|
4618
4648
|
Load a mask file (aka nap) and apply it to the array;
|
@@ -7940,22 +7970,33 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7940
7970
|
|
7941
7971
|
def map_values(self, keys_vals:dict, default:float=None):
|
7942
7972
|
"""
|
7943
|
-
|
7973
|
+
Mapping array values to new values defined by a dictionnary.
|
7974
|
+
|
7975
|
+
First, check if all values are in keys_vals. If not, set to default.
|
7976
|
+
If default is None, set to nullvalue.
|
7977
|
+
|
7978
|
+
:param keys_vals: dictionary of values to map
|
7979
|
+
:param default: default value if key not found
|
7944
7980
|
"""
|
7945
7981
|
|
7946
7982
|
vals = self.get_unique_values()
|
7947
7983
|
|
7948
|
-
|
7949
|
-
self.array.data[:,:] = default
|
7950
|
-
|
7984
|
+
def_keys = []
|
7951
7985
|
for val in vals:
|
7952
7986
|
if val not in keys_vals:
|
7953
|
-
logging.warning(f"Value {val} not in keys_vals")
|
7987
|
+
logging.warning(_(f"Value {val} not in keys_vals -- Will be set to default or NullValue"))
|
7988
|
+
def_keys.append(val)
|
7954
7989
|
continue
|
7955
7990
|
|
7956
7991
|
for key, val in keys_vals.items():
|
7957
7992
|
self.array.data[self.array.data == key] = val
|
7958
7993
|
|
7994
|
+
if default is None:
|
7995
|
+
default = self.nullvalue
|
7996
|
+
|
7997
|
+
for key in def_keys:
|
7998
|
+
self.array.data[self.array.data == key] = default
|
7999
|
+
|
7959
8000
|
self.mask_data(self.nullvalue)
|
7960
8001
|
|
7961
8002
|
self.reset_plot()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: wolfhece
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.46
|
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
|
@@ -13,6 +13,7 @@ Classifier: Topic :: Scientific/Engineering :: Physics
|
|
13
13
|
Requires-Python: <3.11,>=3.10
|
14
14
|
Description-Content-Type: text/markdown
|
15
15
|
Requires-Dist: wxpython
|
16
|
+
Requires-Dist: colorlog
|
16
17
|
Requires-Dist: intel-fortran-rt
|
17
18
|
Requires-Dist: scikit-learn
|
18
19
|
Requires-Dist: cryptography
|
@@ -6,8 +6,8 @@ wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
|
|
6
6
|
wolfhece/Model1D.py,sha256=uL1DJVmDI2xVSE7H6n3icn3QbsPtTHeg8E-6wkDloKw,476914
|
7
7
|
wolfhece/PyConfig.py,sha256=FB8u0belXOXTb03Ln6RdVWvMgjzi3oGPCmw2dWa3lNg,8332
|
8
8
|
wolfhece/PyCrosssections.py,sha256=FnmM9DWY_SAF2EDH9Gu2PojXNtSTRF4-aYQuAAJXBh4,112771
|
9
|
-
wolfhece/PyDraw.py,sha256=
|
10
|
-
wolfhece/PyGui.py,sha256=
|
9
|
+
wolfhece/PyDraw.py,sha256=t3U7YQwBA5OYh-Pf0tffZCv9Ha9SH3S-XAhFXVOpeBs,390808
|
10
|
+
wolfhece/PyGui.py,sha256=aRWv9tBpRl7sKEd2gHWj8Bss0ZOKbGlUYIehWHFm8WY,105008
|
11
11
|
wolfhece/PyGuiHydrology.py,sha256=f60E8K9eGTnRq5RDF6yvt-ahf2AYegwQ9t25zZ2Mk1A,14946
|
12
12
|
wolfhece/PyHydrographs.py,sha256=jwtSNMMACwarxrtN1UeQYth99UNrhwPx1IGgUwcooHA,3774
|
13
13
|
wolfhece/PyPalette.py,sha256=5TvXF5wWDxP4e70zO9B0UMgVP9c0oAzerM28aoJ1CTg,27982
|
@@ -47,7 +47,7 @@ wolfhece/pywalous.py,sha256=yRaWJjKckXef1d9D5devP0yFHC9uc6kRV4G5x9PNq9k,18972
|
|
47
47
|
wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
|
48
48
|
wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
|
49
49
|
wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
|
50
|
-
wolfhece/wolf_array.py,sha256=
|
50
|
+
wolfhece/wolf_array.py,sha256=8UwY94icIbz2BGHtBBdjoia0ijlriJsLcvuJ0Ji-DTg,358915
|
51
51
|
wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
|
52
52
|
wolfhece/wolf_texture.py,sha256=DS5eobLxrq9ljyebYfpMSQPn8shkUAZZVfqrOKN_QUU,16951
|
53
53
|
wolfhece/wolf_tiles.py,sha256=2Ho2I20rHRY81KXxjgLOYISdF4OkJ2d6omeY4shDoGI,10386
|
@@ -67,11 +67,11 @@ wolfhece/apps/WolfPython.png,sha256=K3dcbeZUiJCFNwOAAlGMaRGLJ56yM8WD2I_0bk0xT1g,
|
|
67
67
|
wolfhece/apps/WolfPython2.png,sha256=VMPV-M-3BCOg8zOJss8bXwPmzRYZy8Fo-XtnVYNgbaw,618073
|
68
68
|
wolfhece/apps/WolfPython3.png,sha256=3G84zx14HnlB9YXMY4VUAO7IB3eu7JFvi4Kpmc_4zBE,403298
|
69
69
|
wolfhece/apps/__init__.py,sha256=OzzKItATWV0mDkz_LC2L3w5sgT2rt8ExXXCbR_FwvlY,24
|
70
|
-
wolfhece/apps/check_install.py,sha256=
|
70
|
+
wolfhece/apps/check_install.py,sha256=SG024u18G7VRLKynbp7DKD1jImtHwuWwN4bJWHm-YHE,1271
|
71
71
|
wolfhece/apps/curvedigitizer.py,sha256=_hRR2PWow7PU7rTHIbc6ykZ08tCXcK9uy7RFrb4EKkE,5196
|
72
72
|
wolfhece/apps/isocurrent.py,sha256=MuwTodHxdc6PrqNpphR2ntYf1NLL2n9klTPndGrOHDQ,4109
|
73
73
|
wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
|
74
|
-
wolfhece/apps/version.py,sha256=
|
74
|
+
wolfhece/apps/version.py,sha256=NcO4o6jWbzNyEQy_q5jp-nVRYwCMSE9siAWq3vRNszg,388
|
75
75
|
wolfhece/apps/wolf.py,sha256=mM6Tyi4DlKQILmO49cDUCip9fYVy-hLXkY3YhZgIeUQ,591
|
76
76
|
wolfhece/apps/wolf2D.py,sha256=yPQGee7fsegoQ8GfWKrWEjX1Az_ApL-UWlBiqPvaIyY,565
|
77
77
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -171,6 +171,7 @@ wolfhece/lazviewer/viewer/viewer.exe,sha256=pF5nwE8vMWlEzkk-SOekae9zpOsPhTWhZbqa
|
|
171
171
|
wolfhece/lazviewer/viewer/viewer.py,sha256=8_MQCaQOS0Z_oRPiGoRy1lq-aCirReX3hWEBjQID0ig,24665
|
172
172
|
wolfhece/libs/MSVCP140.dll,sha256=2GrBWBI6JFuSdZLIDMAg_qKcjErdwURGbEYloAypx3o,565640
|
173
173
|
wolfhece/libs/WolfDll.dll,sha256=E8SeV0AHVXW5ikAQuVtijqIvaYx7UIMeqvnnsmTMCT8,132934144
|
174
|
+
wolfhece/libs/__init__.py,sha256=KHR7OIX5YURmKmbx5LkORqUIhF1dz6e1Pf60yLuj0jw,2452
|
174
175
|
wolfhece/libs/api-ms-win-crt-heap-l1-1-0.dll,sha256=r0euvgZa8vBFoZ8g7H5Upuc8DD6aUQimMJWnIyt1OBo,19720
|
175
176
|
wolfhece/libs/api-ms-win-crt-math-l1-1-0.dll,sha256=ol0GVN6wzqGu8Ym6IXTQ8TvfUvCY06nsNtFeS_swxJk,27912
|
176
177
|
wolfhece/libs/api-ms-win-crt-runtime-l1-1-0.dll,sha256=NxpEq5FhSowm0Vm-uHKntD9WnLX6yK2pms6Y8mSjtQM,23304
|
@@ -253,7 +254,7 @@ wolfhece/report/reporting.py,sha256=JUEXovx_S4jpYkJEBU0AC-1Qw2OkkWyV3VAp6iOfSHc,
|
|
253
254
|
wolfhece/report/wolf_report.png,sha256=NoSV58LSwb-oxCcZScRiJno-kxDwRdm_bK-fiMsKJdA,592485
|
254
255
|
wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
255
256
|
wolfhece/scenario/check_scenario.py,sha256=w7_SST4n_uec-MUBK36gbJzz2KC8qT_bVJ_VNyp7cMo,4917
|
256
|
-
wolfhece/scenario/config_manager.py,sha256=
|
257
|
+
wolfhece/scenario/config_manager.py,sha256=UzInaAtxmTLqUaXAHg17iLcUZRGTrPPLsj2D9kBs6wI,85468
|
257
258
|
wolfhece/scenario/imposebc_void.py,sha256=PqA_99hKcaqK5zsK6IRIc5Exgg3WVpgWU8xpwNL49zQ,5571
|
258
259
|
wolfhece/scenario/update_void.py,sha256=ay8C_FxfXN627Hx46waaAO6F3ovYmOCTxseUumKAY7c,7474
|
259
260
|
wolfhece/shaders/fragment_shader_texture.glsl,sha256=w6h8d5mJqFaGbao0LGmjRcFFdcEQ3ICIl9JpuT71K5k,177
|
@@ -276,8 +277,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
|
|
276
277
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
277
278
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
278
279
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
279
|
-
wolfhece-2.1.
|
280
|
-
wolfhece-2.1.
|
281
|
-
wolfhece-2.1.
|
282
|
-
wolfhece-2.1.
|
283
|
-
wolfhece-2.1.
|
280
|
+
wolfhece-2.1.46.dist-info/METADATA,sha256=Me3fak5XA8FOqijhfnRwcDvv4O8CNe51c17L0oHxDsY,2488
|
281
|
+
wolfhece-2.1.46.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
282
|
+
wolfhece-2.1.46.dist-info/entry_points.txt,sha256=Q5JuIWV4odeIJI3qc6fV9MwRoz0ezqPVlFC1Ppm_vdQ,395
|
283
|
+
wolfhece-2.1.46.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
284
|
+
wolfhece-2.1.46.dist-info/RECORD,,
|
File without changes
|
File without changes
|