data-manipulation-utilities 0.2.8.dev730__tar.gz → 0.2.8.dev736__tar.gz
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.
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/PKG-INFO +30 -1
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/README.md +29 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/pyproject.toml +1 -1
- data_manipulation_utilities-0.2.8.dev736/src/dmu/generic/naming.py +35 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/plotting/plotter_1d.py +0 -8
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/workflow/cache.py +27 -22
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/__init__.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/arrays/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/generic/hashing.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/generic/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/generic/version_management.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/logging/log_store.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/logging/messages.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/ml/cv_classifier.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/ml/cv_diagnostics.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/ml/cv_performance.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/ml/cv_predict.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/ml/train_mva.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/ml/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/pdataframe/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/plotting/fwhm.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/plotting/matrix.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/plotting/plotter.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/plotting/plotter_2d.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/plotting/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/rdataframe/atr_mgr.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/rdataframe/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/rfile/ddfgetter.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/rfile/rfprinter.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/rfile/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/fit_stats.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/fitter.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/function.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/gof_calculator.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/minimizers.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/model_factory.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/parameters.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/wdata.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/zfit.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/zfit_models.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/stats/zfit_plotter.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/testing/utilities.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/text/transformer.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu/workflow/__init__.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/__init__.py +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/ml/tests/diagnostics_from_file.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/ml/tests/diagnostics_from_model.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/ml/tests/diagnostics_multiple_methods.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/ml/tests/diagnostics_overlay.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/ml/tests/train_mva.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/ml/tests/train_mva_def.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/ml/tests/train_mva_with_diagnostics.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/ml/tests/train_mva_with_preffix.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/2d.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/fig_size.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/high_stat.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/legend.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/line.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/name.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/no_bounds.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/normalized.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/plug_fwhm.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/plug_stats.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/simple.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/stats.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/styling.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/title.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/plotting/tests/weights.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/rfile/friends.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/stats/fitter/test_simple.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/stats/kde_optimizer/control.json +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/stats/kde_optimizer/signal.json +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/stats/parameters/data.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/tests/config.json +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/tests/config.yaml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/tests/pdf_to_tex.txt +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/text/transform.toml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/text/transform.txt +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/text/transform_set.toml +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/text/transform_set.txt +0 -0
- {data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/src/dmu_data/text/transform_trf.txt +0 -0
{data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: data-manipulation-utilities
|
3
|
-
Version: 0.2.8.
|
3
|
+
Version: 0.2.8.dev736
|
4
4
|
Summary: Project storing utilities needed to reduce boilerplate code when analyzing data
|
5
5
|
Requires-Python: >=3.10,<3.13
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
@@ -68,6 +68,35 @@ Then, for each remote it pushes the tags and the commits.
|
|
68
68
|
|
69
69
|
This section describes generic tools that could not be put in a specific category, but tend to be useful.
|
70
70
|
|
71
|
+
## Naming
|
72
|
+
|
73
|
+
### Name cleaning
|
74
|
+
|
75
|
+
This is an alternative to projects like `slugify`. The function will
|
76
|
+
take strings with characters that are not easy to use when naming files and
|
77
|
+
will clean it up with:
|
78
|
+
|
79
|
+
```python
|
80
|
+
|
81
|
+
from dmu.generic import naming
|
82
|
+
|
83
|
+
value = naming.clean_special_characters(name=name)
|
84
|
+
```
|
85
|
+
|
86
|
+
e.g.:
|
87
|
+
|
88
|
+
```
|
89
|
+
a b' -> 'a_b'
|
90
|
+
a$b' -> 'a_b'
|
91
|
+
a > b' -> 'a_gt_b'
|
92
|
+
a < b' -> 'a_lt_b'
|
93
|
+
a = b' -> 'a_eq_b'
|
94
|
+
{a}' -> '_a_'
|
95
|
+
a.b' -> 'apb'
|
96
|
+
a && b' -> 'a_and_b'
|
97
|
+
a || b' -> 'a_or_b'
|
98
|
+
```
|
99
|
+
|
71
100
|
## Caching data
|
72
101
|
|
73
102
|
In order to reuse data that is hard to calculate one would need:
|
{data_manipulation_utilities-0.2.8.dev730 → data_manipulation_utilities-0.2.8.dev736}/README.md
RENAMED
@@ -33,6 +33,35 @@ Then, for each remote it pushes the tags and the commits.
|
|
33
33
|
|
34
34
|
This section describes generic tools that could not be put in a specific category, but tend to be useful.
|
35
35
|
|
36
|
+
## Naming
|
37
|
+
|
38
|
+
### Name cleaning
|
39
|
+
|
40
|
+
This is an alternative to projects like `slugify`. The function will
|
41
|
+
take strings with characters that are not easy to use when naming files and
|
42
|
+
will clean it up with:
|
43
|
+
|
44
|
+
```python
|
45
|
+
|
46
|
+
from dmu.generic import naming
|
47
|
+
|
48
|
+
value = naming.clean_special_characters(name=name)
|
49
|
+
```
|
50
|
+
|
51
|
+
e.g.:
|
52
|
+
|
53
|
+
```
|
54
|
+
a b' -> 'a_b'
|
55
|
+
a$b' -> 'a_b'
|
56
|
+
a > b' -> 'a_gt_b'
|
57
|
+
a < b' -> 'a_lt_b'
|
58
|
+
a = b' -> 'a_eq_b'
|
59
|
+
{a}' -> '_a_'
|
60
|
+
a.b' -> 'apb'
|
61
|
+
a && b' -> 'a_and_b'
|
62
|
+
a || b' -> 'a_or_b'
|
63
|
+
```
|
64
|
+
|
36
65
|
## Caching data
|
37
66
|
|
38
67
|
In order to reuse data that is hard to calculate one would need:
|
@@ -0,0 +1,35 @@
|
|
1
|
+
'''
|
2
|
+
This module contains functions meant to deal with names
|
3
|
+
i.e. strings that represent names
|
4
|
+
'''
|
5
|
+
|
6
|
+
import re
|
7
|
+
|
8
|
+
from dmu.logging.log_store import LogStore
|
9
|
+
|
10
|
+
log=LogStore.add_logger('dmu:generic:naming')
|
11
|
+
# --------------------------------
|
12
|
+
def clean_special_characters(name : str) -> str:
|
13
|
+
'''
|
14
|
+
Parameters
|
15
|
+
----------------
|
16
|
+
name: String with potentially parenthesis, dollar signs, etc
|
17
|
+
|
18
|
+
Returns
|
19
|
+
----------------
|
20
|
+
Cleaned string, where special signs were removed or replaced
|
21
|
+
'''
|
22
|
+
name = name.replace('||', 'or')
|
23
|
+
name = name.replace(' ' , '_')
|
24
|
+
name = name.replace('<' , 'lt')
|
25
|
+
name = name.replace('>' , 'gt')
|
26
|
+
name = name.replace('=' , 'eq')
|
27
|
+
name = name.replace('{' , '_')
|
28
|
+
name = name.replace('}' , '_')
|
29
|
+
name = name.replace('.' , 'p')
|
30
|
+
name = name.replace('$' , '_')
|
31
|
+
name = name.replace('&&','and')
|
32
|
+
name = re.sub(r'_+' , '_', name)
|
33
|
+
|
34
|
+
return name
|
35
|
+
# --------------------------------
|
@@ -290,14 +290,6 @@ class Plotter1D(Plotter):
|
|
290
290
|
if 'vline' in var_cfg:
|
291
291
|
line_cfg = var_cfg['vline']
|
292
292
|
plt.axvline(**line_cfg)
|
293
|
-
|
294
|
-
if 'style' in self._d_cfg and 'skip_lines' in self._d_cfg['style'] and self._d_cfg['style']['skip_lines']:
|
295
|
-
return
|
296
|
-
|
297
|
-
if var in ['B_const_mass_M', 'B_M', 'B_Mass', 'B_Mass_smr']:
|
298
|
-
plt.axvline(x=5280, color='r', label=r'$B^+$' , linestyle=':')
|
299
|
-
elif var == 'Jpsi_M':
|
300
|
-
plt.axvline(x=3096, color='r', label=r'$J/\psi$', linestyle=':')
|
301
293
|
# --------------------------------------------
|
302
294
|
def run(self):
|
303
295
|
'''
|
@@ -63,19 +63,6 @@ class Cache:
|
|
63
63
|
self._cache_dir = self._get_dir(kind='cache')
|
64
64
|
self._hash_dir : str
|
65
65
|
# ---------------------------
|
66
|
-
@classmethod
|
67
|
-
def set_cache_root(cls, root : str) -> None:
|
68
|
-
'''
|
69
|
-
Sets the path to the directory WRT which the _out_path_
|
70
|
-
will be placed
|
71
|
-
'''
|
72
|
-
if cls._cache_root is not None:
|
73
|
-
raise ValueError(f'Trying to set {root}, but already found {cls._cache_root}')
|
74
|
-
|
75
|
-
os.makedirs(root, exist_ok=True)
|
76
|
-
|
77
|
-
cls._cache_root = root
|
78
|
-
# ---------------------------
|
79
66
|
def _get_code_hash(self) -> str:
|
80
67
|
'''
|
81
68
|
If `MyTool` inherits from `Cache`. `mytool.py` git commit hash
|
@@ -242,9 +229,8 @@ class Cache:
|
|
242
229
|
|
243
230
|
return True
|
244
231
|
# ---------------------------
|
245
|
-
@
|
246
|
-
|
247
|
-
def turn_off_cache(val : list[str]|None):
|
232
|
+
@classmethod
|
233
|
+
def turn_off_cache(cls, val):
|
248
234
|
'''
|
249
235
|
Parameters
|
250
236
|
------------------
|
@@ -256,11 +242,30 @@ class Cache:
|
|
256
242
|
log.error('This manager expects: list[str]|None')
|
257
243
|
raise ValueError(f'Invalid value: {val}')
|
258
244
|
|
259
|
-
old_val =
|
245
|
+
old_val = cls._l_skip_class
|
246
|
+
@contextmanager
|
247
|
+
def _context():
|
248
|
+
cls._l_skip_class = val
|
249
|
+
try:
|
250
|
+
yield
|
251
|
+
finally:
|
252
|
+
cls._l_skip_class = old_val
|
260
253
|
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
254
|
+
return _context()
|
255
|
+
# ---------------------------
|
256
|
+
@classmethod
|
257
|
+
def set_cache_root(cls, root : str) -> None:
|
258
|
+
'''
|
259
|
+
Sets the path to the directory WRT which the _out_path_
|
260
|
+
will be placed.
|
261
|
+
|
262
|
+
This is meant to be called once per execution and has a lock
|
263
|
+
that will raise an exception if called twice
|
264
|
+
'''
|
265
|
+
if cls._cache_root is not None:
|
266
|
+
raise ValueError(f'Trying to set {root}, but already found {cls._cache_root}')
|
267
|
+
|
268
|
+
os.makedirs(root, exist_ok=True)
|
269
|
+
|
270
|
+
cls._cache_root = root
|
266
271
|
# ---------------------------
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|