dragon-ml-toolbox 4.1.0__tar.gz → 4.2.0__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.
Files changed (35) hide show
  1. {dragon_ml_toolbox-4.1.0/dragon_ml_toolbox.egg-info → dragon_ml_toolbox-4.2.0}/PKG-INFO +24 -8
  2. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/README.md +17 -5
  3. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0/dragon_ml_toolbox.egg-info}/PKG-INFO +24 -8
  4. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/dragon_ml_toolbox.egg-info/requires.txt +8 -2
  5. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/path_manager.py +13 -5
  6. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/pyproject.toml +13 -4
  7. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/LICENSE +0 -0
  8. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/LICENSE-THIRD-PARTY.md +0 -0
  9. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/dragon_ml_toolbox.egg-info/SOURCES.txt +0 -0
  10. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/dragon_ml_toolbox.egg-info/dependency_links.txt +0 -0
  11. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/dragon_ml_toolbox.egg-info/top_level.txt +0 -0
  12. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/ETL_engineering.py +0 -0
  13. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/GUI_tools.py +0 -0
  14. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/MICE_imputation.py +0 -0
  15. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/ML_callbacks.py +0 -0
  16. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/ML_evaluation.py +0 -0
  17. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/ML_inference.py +0 -0
  18. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/ML_trainer.py +0 -0
  19. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/PSO_optimization.py +0 -0
  20. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/RNN_forecast.py +0 -0
  21. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/SQL.py +0 -0
  22. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/VIF_factor.py +0 -0
  23. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/__init__.py +0 -0
  24. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/_logger.py +0 -0
  25. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/_pytorch_models.py +0 -0
  26. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/_script_info.py +0 -0
  27. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/custom_logger.py +0 -0
  28. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/data_exploration.py +0 -0
  29. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/datasetmaster.py +0 -0
  30. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/ensemble_inference.py +0 -0
  31. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/ensemble_learning.py +0 -0
  32. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/handle_excel.py +0 -0
  33. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/keys.py +0 -0
  34. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/ml_tools/utilities.py +0 -0
  35. {dragon_ml_toolbox-4.1.0 → dragon_ml_toolbox-4.2.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragon-ml-toolbox
3
- Version: 4.1.0
3
+ Version: 4.2.0
4
4
  Summary: A collection of tools for data science and machine learning projects.
5
5
  Author-email: Karl Loza <luigiloza@gmail.com>
6
6
  License-Expression: MIT
@@ -62,16 +62,20 @@ Provides-Extra: gui-boost
62
62
  Requires-Dist: numpy; extra == "gui-boost"
63
63
  Requires-Dist: joblib; extra == "gui-boost"
64
64
  Requires-Dist: FreeSimpleGUI>=5.2; extra == "gui-boost"
65
- Requires-Dist: pyinstaller; extra == "gui-boost"
66
65
  Requires-Dist: xgboost; extra == "gui-boost"
67
66
  Requires-Dist: lightgbm; extra == "gui-boost"
68
67
  Provides-Extra: gui-torch
69
68
  Requires-Dist: numpy; extra == "gui-torch"
70
69
  Requires-Dist: FreeSimpleGUI>=5.2; extra == "gui-torch"
71
- Requires-Dist: pyinstaller; extra == "gui-torch"
72
70
  Provides-Extra: plot
73
71
  Requires-Dist: matplotlib; extra == "plot"
74
72
  Requires-Dist: seaborn; extra == "plot"
73
+ Provides-Extra: pyinstaller
74
+ Requires-Dist: pyinstaller; extra == "pyinstaller"
75
+ Provides-Extra: nuitka
76
+ Requires-Dist: nuitka; extra == "nuitka"
77
+ Requires-Dist: zstandard; extra == "nuitka"
78
+ Requires-Dist: ordered-set; extra == "nuitka"
75
79
  Dynamic: license-file
76
80
 
77
81
  # dragon-ml-toolbox
@@ -161,7 +165,7 @@ pip install "dragon-ml-toolbox[mice]"
161
165
 
162
166
  #### Modules:
163
167
 
164
- ```bash
168
+ ```Bash
165
169
  custom_logger
166
170
  MICE_imputation
167
171
  VIF_factor
@@ -179,7 +183,7 @@ pip install "dragon-ml-toolbox[excel]"
179
183
 
180
184
  #### Modules:
181
185
 
182
- ```bash
186
+ ```Bash
183
187
  custom_logger
184
188
  handle_excel
185
189
  path_manager
@@ -199,7 +203,7 @@ pip install "dragon-ml-toolbox[gui-boost,plot]"
199
203
 
200
204
  #### Modules:
201
205
 
202
- ```bash
206
+ ```Bash
203
207
  GUI_tools
204
208
  ensemble_inference
205
209
  path_manager
@@ -219,7 +223,7 @@ pip install "dragon-ml-toolbox[gui-torch,plot]"
219
223
 
220
224
  #### Modules:
221
225
 
222
- ```bash
226
+ ```Bash
223
227
  GUI_tools
224
228
  ML_inference
225
229
  path_manager
@@ -235,7 +239,7 @@ pip install "dragon-ml-toolbox[base]"
235
239
 
236
240
  #### Modules:
237
241
 
238
- ```bash
242
+ ```Bash
239
243
  ETL_Engineering
240
244
  custom_logger
241
245
  SQL
@@ -243,6 +247,18 @@ utilities
243
247
  path_manager
244
248
  ```
245
249
 
250
+ ### ⚒️ APP bundlers
251
+
252
+ Choose one if needed.
253
+
254
+ ```Bash
255
+ pip install "dragon-ml-toolbox[pyinstaller]"
256
+ ```
257
+
258
+ ```Bash
259
+ pip install "dragon-ml-toolbox[nuitka]"
260
+ ```
261
+
246
262
  ## Usage
247
263
 
248
264
  After installation, import modules like this:
@@ -85,7 +85,7 @@ pip install "dragon-ml-toolbox[mice]"
85
85
 
86
86
  #### Modules:
87
87
 
88
- ```bash
88
+ ```Bash
89
89
  custom_logger
90
90
  MICE_imputation
91
91
  VIF_factor
@@ -103,7 +103,7 @@ pip install "dragon-ml-toolbox[excel]"
103
103
 
104
104
  #### Modules:
105
105
 
106
- ```bash
106
+ ```Bash
107
107
  custom_logger
108
108
  handle_excel
109
109
  path_manager
@@ -123,7 +123,7 @@ pip install "dragon-ml-toolbox[gui-boost,plot]"
123
123
 
124
124
  #### Modules:
125
125
 
126
- ```bash
126
+ ```Bash
127
127
  GUI_tools
128
128
  ensemble_inference
129
129
  path_manager
@@ -143,7 +143,7 @@ pip install "dragon-ml-toolbox[gui-torch,plot]"
143
143
 
144
144
  #### Modules:
145
145
 
146
- ```bash
146
+ ```Bash
147
147
  GUI_tools
148
148
  ML_inference
149
149
  path_manager
@@ -159,7 +159,7 @@ pip install "dragon-ml-toolbox[base]"
159
159
 
160
160
  #### Modules:
161
161
 
162
- ```bash
162
+ ```Bash
163
163
  ETL_Engineering
164
164
  custom_logger
165
165
  SQL
@@ -167,6 +167,18 @@ utilities
167
167
  path_manager
168
168
  ```
169
169
 
170
+ ### ⚒️ APP bundlers
171
+
172
+ Choose one if needed.
173
+
174
+ ```Bash
175
+ pip install "dragon-ml-toolbox[pyinstaller]"
176
+ ```
177
+
178
+ ```Bash
179
+ pip install "dragon-ml-toolbox[nuitka]"
180
+ ```
181
+
170
182
  ## Usage
171
183
 
172
184
  After installation, import modules like this:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragon-ml-toolbox
3
- Version: 4.1.0
3
+ Version: 4.2.0
4
4
  Summary: A collection of tools for data science and machine learning projects.
5
5
  Author-email: Karl Loza <luigiloza@gmail.com>
6
6
  License-Expression: MIT
@@ -62,16 +62,20 @@ Provides-Extra: gui-boost
62
62
  Requires-Dist: numpy; extra == "gui-boost"
63
63
  Requires-Dist: joblib; extra == "gui-boost"
64
64
  Requires-Dist: FreeSimpleGUI>=5.2; extra == "gui-boost"
65
- Requires-Dist: pyinstaller; extra == "gui-boost"
66
65
  Requires-Dist: xgboost; extra == "gui-boost"
67
66
  Requires-Dist: lightgbm; extra == "gui-boost"
68
67
  Provides-Extra: gui-torch
69
68
  Requires-Dist: numpy; extra == "gui-torch"
70
69
  Requires-Dist: FreeSimpleGUI>=5.2; extra == "gui-torch"
71
- Requires-Dist: pyinstaller; extra == "gui-torch"
72
70
  Provides-Extra: plot
73
71
  Requires-Dist: matplotlib; extra == "plot"
74
72
  Requires-Dist: seaborn; extra == "plot"
73
+ Provides-Extra: pyinstaller
74
+ Requires-Dist: pyinstaller; extra == "pyinstaller"
75
+ Provides-Extra: nuitka
76
+ Requires-Dist: nuitka; extra == "nuitka"
77
+ Requires-Dist: zstandard; extra == "nuitka"
78
+ Requires-Dist: ordered-set; extra == "nuitka"
75
79
  Dynamic: license-file
76
80
 
77
81
  # dragon-ml-toolbox
@@ -161,7 +165,7 @@ pip install "dragon-ml-toolbox[mice]"
161
165
 
162
166
  #### Modules:
163
167
 
164
- ```bash
168
+ ```Bash
165
169
  custom_logger
166
170
  MICE_imputation
167
171
  VIF_factor
@@ -179,7 +183,7 @@ pip install "dragon-ml-toolbox[excel]"
179
183
 
180
184
  #### Modules:
181
185
 
182
- ```bash
186
+ ```Bash
183
187
  custom_logger
184
188
  handle_excel
185
189
  path_manager
@@ -199,7 +203,7 @@ pip install "dragon-ml-toolbox[gui-boost,plot]"
199
203
 
200
204
  #### Modules:
201
205
 
202
- ```bash
206
+ ```Bash
203
207
  GUI_tools
204
208
  ensemble_inference
205
209
  path_manager
@@ -219,7 +223,7 @@ pip install "dragon-ml-toolbox[gui-torch,plot]"
219
223
 
220
224
  #### Modules:
221
225
 
222
- ```bash
226
+ ```Bash
223
227
  GUI_tools
224
228
  ML_inference
225
229
  path_manager
@@ -235,7 +239,7 @@ pip install "dragon-ml-toolbox[base]"
235
239
 
236
240
  #### Modules:
237
241
 
238
- ```bash
242
+ ```Bash
239
243
  ETL_Engineering
240
244
  custom_logger
241
245
  SQL
@@ -243,6 +247,18 @@ utilities
243
247
  path_manager
244
248
  ```
245
249
 
250
+ ### ⚒️ APP bundlers
251
+
252
+ Choose one if needed.
253
+
254
+ ```Bash
255
+ pip install "dragon-ml-toolbox[pyinstaller]"
256
+ ```
257
+
258
+ ```Bash
259
+ pip install "dragon-ml-toolbox[nuitka]"
260
+ ```
261
+
246
262
  ## Usage
247
263
 
248
264
  After installation, import modules like this:
@@ -38,14 +38,12 @@ ipywidgets
38
38
  numpy
39
39
  joblib
40
40
  FreeSimpleGUI>=5.2
41
- pyinstaller
42
41
  xgboost
43
42
  lightgbm
44
43
 
45
44
  [gui-torch]
46
45
  numpy
47
46
  FreeSimpleGUI>=5.2
48
- pyinstaller
49
47
 
50
48
  [mice]
51
49
  numpy<2.0
@@ -59,10 +57,18 @@ statsmodels
59
57
  lightgbm<=4.5.0
60
58
  shap
61
59
 
60
+ [nuitka]
61
+ nuitka
62
+ zstandard
63
+ ordered-set
64
+
62
65
  [plot]
63
66
  matplotlib
64
67
  seaborn
65
68
 
69
+ [pyinstaller]
70
+ pyinstaller
71
+
66
72
  [pytorch]
67
73
  torch
68
74
  torchvision
@@ -49,18 +49,26 @@ class PathManager:
49
49
  for dir_name in base_directories:
50
50
  # This logic works for both dev mode and bundled mode
51
51
  self._paths[dir_name] = package_root / dir_name
52
-
52
+
53
53
  def _get_bundle_root(self) -> tuple[bool, Optional[str]]:
54
54
  """
55
- Checks if the app is running in a PyInstaller bundle and returns the root path.
55
+ Checks if the app is running in a PyInstaller or Nuitka bundle and returns the root path.
56
56
 
57
57
  Returns:
58
- A tuple (is_bundled, bundle_root_path). `bundle_root_path` is the
59
- path to the temporary directory `_MEIPASS` if bundled, otherwise None.
58
+ A tuple (is_bundled, bundle_root_path).
60
59
  """
60
+ # --- PyInstaller Check ---
61
61
  if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
62
- # This is the standard way to check for a PyInstaller bundle
62
+ # The bundle root for PyInstaller is the temporary _MEIPASS directory
63
63
  return True, sys._MEIPASS # type: ignore
64
+
65
+ # --- Nuitka Check ---
66
+ elif '__nuitka_binary_dir' in sys.__dict__:
67
+ # For Nuitka, the root is the directory of the binary.
68
+ # Unlike PyInstaller's _MEIPASS, this is the final install location.
69
+ return True, sys.__dict__['__nuitka_binary_dir']
70
+
71
+ # --- Not Bundled ---
64
72
  else:
65
73
  return False, None
66
74
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dragon-ml-toolbox"
3
- version = "4.1.0"
3
+ version = "4.2.0"
4
4
  description = "A collection of tools for data science and machine learning projects."
5
5
  authors = [
6
6
  { name = "Karl Loza", email = "luigiloza@gmail.com" }
@@ -85,16 +85,14 @@ gui-boost = [
85
85
  "numpy",
86
86
  "joblib",
87
87
  "FreeSimpleGUI>=5.2",
88
- "pyinstaller",
89
88
  "xgboost",
90
- "lightgbm"
89
+ "lightgbm",
91
90
  ]
92
91
 
93
92
  # GUI for Pytorch - Additionally Requires PyTorch with CUDA / MPS support
94
93
  gui-torch = [
95
94
  "numpy",
96
95
  "FreeSimpleGUI>=5.2",
97
- "pyinstaller",
98
96
  ]
99
97
 
100
98
  # For GUIs using plotting features
@@ -103,6 +101,17 @@ plot = [
103
101
  "seaborn"
104
102
  ]
105
103
 
104
+ # APP Bundlers - Choose one
105
+ pyinstaller = [
106
+ "pyinstaller"
107
+ ]
108
+
109
+ nuitka = [
110
+ "nuitka",
111
+ "zstandard",
112
+ "ordered-set"
113
+ ]
114
+
106
115
  [build-system]
107
116
  requires = ["setuptools>=61.0"]
108
117
  build-backend = "setuptools.build_meta"