stouputils 1.3.22__tar.gz → 1.15.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 (149) hide show
  1. stouputils-1.15.0/PKG-INFO +178 -0
  2. stouputils-1.3.22/PKG-INFO → stouputils-1.15.0/README.md +136 -126
  3. stouputils-1.15.0/pyproject.toml +102 -0
  4. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/__init__.py +7 -8
  5. stouputils-1.15.0/stouputils/__init__.pyi +15 -0
  6. stouputils-1.15.0/stouputils/__main__.py +86 -0
  7. stouputils-1.15.0/stouputils/_deprecated.py +37 -0
  8. stouputils-1.15.0/stouputils/_deprecated.pyi +12 -0
  9. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/all_doctests.py +40 -17
  10. stouputils-1.15.0/stouputils/all_doctests.pyi +46 -0
  11. stouputils-1.15.0/stouputils/applications/__init__.pyi +2 -0
  12. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/applications/automatic_docs.py +158 -40
  13. stouputils-1.15.0/stouputils/applications/automatic_docs.pyi +106 -0
  14. stouputils-1.15.0/stouputils/applications/upscaler/__init__.pyi +3 -0
  15. stouputils-1.15.0/stouputils/applications/upscaler/config.pyi +18 -0
  16. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/applications/upscaler/image.py +2 -2
  17. stouputils-1.15.0/stouputils/applications/upscaler/image.pyi +109 -0
  18. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/applications/upscaler/video.py +4 -3
  19. stouputils-1.15.0/stouputils/applications/upscaler/video.pyi +60 -0
  20. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/archive.py +150 -113
  21. stouputils-1.15.0/stouputils/archive.pyi +67 -0
  22. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/backup.py +232 -115
  23. stouputils-1.15.0/stouputils/backup.pyi +109 -0
  24. stouputils-1.15.0/stouputils/collections.py +244 -0
  25. stouputils-1.15.0/stouputils/collections.pyi +86 -0
  26. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/continuous_delivery/__init__.py +2 -0
  27. stouputils-1.15.0/stouputils/continuous_delivery/__init__.pyi +5 -0
  28. stouputils-1.15.0/stouputils/continuous_delivery/cd_utils.py +243 -0
  29. stouputils-1.15.0/stouputils/continuous_delivery/cd_utils.pyi +129 -0
  30. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/continuous_delivery/github.py +36 -8
  31. stouputils-1.15.0/stouputils/continuous_delivery/github.pyi +162 -0
  32. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/continuous_delivery/pypi.py +41 -1
  33. stouputils-1.15.0/stouputils/continuous_delivery/pypi.pyi +53 -0
  34. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/continuous_delivery/pyproject.py +43 -20
  35. stouputils-1.15.0/stouputils/continuous_delivery/pyproject.pyi +67 -0
  36. stouputils-1.15.0/stouputils/continuous_delivery/stubs.py +86 -0
  37. stouputils-1.15.0/stouputils/continuous_delivery/stubs.pyi +39 -0
  38. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/ctx.py +408 -276
  39. stouputils-1.15.0/stouputils/ctx.pyi +211 -0
  40. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/config/get.py +51 -51
  41. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/config/set.py +125 -125
  42. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/__init__.py +66 -66
  43. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/auto_contrast.py +79 -79
  44. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/axis_flip.py +58 -58
  45. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/bias_field_correction.py +74 -74
  46. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/binary_threshold.py +73 -73
  47. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/blur.py +59 -59
  48. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/brightness.py +54 -54
  49. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/canny.py +110 -110
  50. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/clahe.py +92 -92
  51. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/common.py +30 -30
  52. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/contrast.py +53 -53
  53. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/curvature_flow_filter.py +74 -74
  54. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/denoise.py +378 -378
  55. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/histogram_equalization.py +123 -123
  56. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/invert.py +64 -64
  57. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/laplacian.py +60 -60
  58. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/median_blur.py +52 -52
  59. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/noise.py +59 -59
  60. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/normalize.py +65 -65
  61. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/random_erase.py +66 -66
  62. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/resize.py +69 -69
  63. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/rotation.py +80 -80
  64. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/salt_pepper.py +68 -68
  65. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/sharpening.py +55 -55
  66. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/shearing.py +64 -64
  67. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/threshold.py +64 -64
  68. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/translation.py +71 -71
  69. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image/zoom.py +83 -83
  70. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image_augmentation.py +118 -118
  71. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/image_preprocess.py +183 -183
  72. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/prosthesis_detection.py +359 -359
  73. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/data_processing/technique.py +481 -481
  74. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/dataset/__init__.py +45 -45
  75. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/dataset/dataset.py +292 -292
  76. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/dataset/dataset_loader.py +135 -135
  77. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/dataset/grouping_strategy.py +296 -296
  78. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/dataset/image_loader.py +100 -100
  79. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/dataset/xy_tuple.py +696 -696
  80. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/metric_dictionnary.py +106 -106
  81. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/metric_utils.py +847 -847
  82. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/mlflow_utils.py +206 -206
  83. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/abstract_model.py +149 -149
  84. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/all.py +85 -85
  85. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/base_keras.py +765 -766
  86. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/all.py +38 -38
  87. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/convnext.py +62 -62
  88. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/densenet.py +50 -50
  89. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/efficientnet.py +60 -60
  90. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/mobilenet.py +56 -56
  91. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/resnet.py +52 -52
  92. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/squeezenet.py +233 -233
  93. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/vgg.py +42 -42
  94. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras/xception.py +38 -38
  95. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/callbacks/__init__.py +20 -20
  96. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/callbacks/colored_progress_bar.py +219 -219
  97. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/callbacks/learning_rate_finder.py +148 -148
  98. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/callbacks/progressive_unfreezing.py +249 -249
  99. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/callbacks/warmup_scheduler.py +66 -66
  100. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/losses/__init__.py +12 -12
  101. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/losses/next_generation_loss.py +56 -56
  102. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/visualizations.py +416 -416
  103. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/model_interface.py +939 -939
  104. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/sandbox.py +116 -116
  105. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/range_tuple.py +234 -234
  106. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/scripts/augment_dataset.py +77 -77
  107. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/scripts/exhaustive_process.py +133 -133
  108. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/scripts/preprocess_dataset.py +70 -70
  109. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/scripts/routine.py +168 -168
  110. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/utils.py +285 -285
  111. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/decorators.py +339 -118
  112. stouputils-1.15.0/stouputils/decorators.pyi +252 -0
  113. stouputils-1.15.0/stouputils/image.py +441 -0
  114. stouputils-1.15.0/stouputils/image.pyi +172 -0
  115. stouputils-1.15.0/stouputils/installer/__init__.pyi +5 -0
  116. stouputils-1.15.0/stouputils/installer/common.pyi +39 -0
  117. stouputils-1.15.0/stouputils/installer/downloader.pyi +24 -0
  118. stouputils-1.15.0/stouputils/installer/linux.pyi +39 -0
  119. stouputils-1.15.0/stouputils/installer/main.pyi +57 -0
  120. stouputils-1.15.0/stouputils/installer/windows.pyi +31 -0
  121. stouputils-1.15.0/stouputils/io.py +493 -0
  122. stouputils-1.15.0/stouputils/io.pyi +213 -0
  123. stouputils-1.15.0/stouputils/parallel.py +485 -0
  124. stouputils-1.15.0/stouputils/parallel.pyi +216 -0
  125. stouputils-1.15.0/stouputils/print.py +709 -0
  126. stouputils-1.15.0/stouputils/print.pyi +225 -0
  127. stouputils-1.15.0/stouputils/version_pkg.py +189 -0
  128. stouputils-1.15.0/stouputils/version_pkg.pyi +15 -0
  129. stouputils-1.3.22/.gitignore +0 -21
  130. stouputils-1.3.22/LICENSE +0 -21
  131. stouputils-1.3.22/README.md +0 -102
  132. stouputils-1.3.22/pyproject.toml +0 -65
  133. stouputils-1.3.22/stouputils/collections.py +0 -62
  134. stouputils-1.3.22/stouputils/continuous_delivery/cd_utils.py +0 -141
  135. stouputils-1.3.22/stouputils/image.py +0 -88
  136. stouputils-1.3.22/stouputils/io.py +0 -287
  137. stouputils-1.3.22/stouputils/parallel.py +0 -312
  138. stouputils-1.3.22/stouputils/print.py +0 -359
  139. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/applications/__init__.py +0 -0
  140. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/applications/upscaler/__init__.py +0 -0
  141. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/applications/upscaler/config.py +0 -0
  142. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/data_science/models/keras_utils/callbacks/model_checkpoint_v2.py +0 -0
  143. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/installer/__init__.py +0 -0
  144. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/installer/common.py +0 -0
  145. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/installer/downloader.py +0 -0
  146. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/installer/linux.py +0 -0
  147. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/installer/main.py +0 -0
  148. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/installer/windows.py +0 -0
  149. {stouputils-1.3.22 → stouputils-1.15.0}/stouputils/py.typed +0 -0
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.3
2
+ Name: stouputils
3
+ Version: 1.15.0
4
+ Summary: Stouputils is a collection of utility modules designed to simplify and enhance the development process. It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers, and many more.
5
+ Keywords: utilities,tools,helpers,development,python
6
+ Author: Stoupy51
7
+ Author-email: Stoupy51 <stoupy51@gmail.com>
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.12
10
+ Classifier: Programming Language :: Python :: 3.13
11
+ Classifier: Programming Language :: Python :: 3.14
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: OS Independent
14
+ Requires-Dist: tqdm>=4.0.0
15
+ Requires-Dist: requests>=2.20.0
16
+ Requires-Dist: msgspec[toml,yaml]>=0.20.0
17
+ Requires-Dist: pillow>=12.0.0
18
+ Requires-Dist: python-box>=7.0.0
19
+ Requires-Dist: argcomplete>=3.0.0
20
+ Requires-Dist: numpy
21
+ Requires-Dist: opencv-python ; extra == 'data-science'
22
+ Requires-Dist: scikit-image ; extra == 'data-science'
23
+ Requires-Dist: simpleitk ; extra == 'data-science'
24
+ Requires-Dist: mlflow ; extra == 'data-science'
25
+ Requires-Dist: tensorflow ; extra == 'data-science'
26
+ Requires-Dist: scikit-learn ; extra == 'data-science'
27
+ Requires-Dist: pywavelets ; extra == 'data-science'
28
+ Requires-Dist: m2r2 ; extra == 'docs'
29
+ Requires-Dist: myst-parser ; extra == 'docs'
30
+ Requires-Dist: sphinx-copybutton ; extra == 'docs'
31
+ Requires-Dist: sphinx-design ; extra == 'docs'
32
+ Requires-Dist: sphinx-treeview ; extra == 'docs'
33
+ Requires-Dist: sphinx-breeze-theme ; extra == 'docs'
34
+ Requires-Dist: pydata-sphinx-theme ; extra == 'docs'
35
+ Requires-Python: >=3.12
36
+ Project-URL: Homepage, https://stoupy51.github.io/stouputils
37
+ Project-URL: Issues, https://github.com/Stoupy51/stouputils/issues
38
+ Project-URL: Source, https://github.com/Stoupy51/stouputils
39
+ Provides-Extra: data-science
40
+ Provides-Extra: docs
41
+ Description-Content-Type: text/markdown
42
+
43
+
44
+ ## 🛠️ Project Badges
45
+ [![GitHub](https://img.shields.io/github/v/release/Stoupy51/stouputils?logo=github&label=GitHub)](https://github.com/Stoupy51/stouputils/releases/latest)
46
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/stouputils?logo=python&label=PyPI%20downloads)](https://pypi.org/project/stouputils/)
47
+ [![Documentation](https://img.shields.io/github/v/release/Stoupy51/stouputils?logo=sphinx&label=Documentation&color=purple)](https://stoupy51.github.io/stouputils/latest/)
48
+
49
+ ## 📚 Project Overview
50
+ Stouputils is a collection of utility modules designed to simplify and enhance the development process.<br>
51
+ It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers.<br>
52
+ Start now by installing the package: `pip install stouputils`.<br>
53
+
54
+ <a href="https://colab.research.google.com/drive/1mJ-KL-zXzIk1oKDxO6FC1SFfm-BVKG-P?usp=sharing" target="_blank" rel="noopener noreferrer" style="text-decoration: none;"><div class="admonition">
55
+ 📖 <b>Want to see examples?</b> Check out our <u>Google Colab notebook</u> with practical usage examples!
56
+ </div></a>
57
+
58
+ ## 🚀 Project File Tree
59
+ <html>
60
+ <details style="display: none;">
61
+ <summary></summary>
62
+ <style>
63
+ .code-tree {
64
+ border-radius: 6px;
65
+ padding: 16px;
66
+ font-family: monospace;
67
+ line-height: 1.45;
68
+ overflow: auto;
69
+ white-space: pre;
70
+ background-color:rgb(43, 43, 43);
71
+ color: #d4d4d4;
72
+ }
73
+ .code-tree a {
74
+ color: #569cd6;
75
+ text-decoration: none;
76
+ }
77
+ .code-tree a:hover {
78
+ text-decoration: underline;
79
+ }
80
+ .code-tree .comment {
81
+ color:rgb(231, 213, 48);
82
+ }
83
+ .code-tree .paren {
84
+ color: orange;
85
+ }
86
+ </style>
87
+ </details>
88
+
89
+ <pre class="code-tree">stouputils/
90
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.print.html">print.py</a> <span class="comment"># 🖨️ Utility functions for printing <span class="paren">(info, debug, warning, error, whatisit, breakpoint, colored_for_loop, ...)</span></span>
91
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.decorators.html">decorators.py</a> <span class="comment"># 🎯 Decorators <span class="paren">(measure_time, handle_error, timeout, retry, simple_cache, abstract, deprecated, silent)</span></span>
92
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.ctx.html">ctx.py</a> <span class="comment"># 🔇 Context managers <span class="paren">(LogToFile, MeasureTime, Muffle, DoNothing, SetMPStartMethod)</span></span>
93
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.io.html">io.py</a> <span class="comment"># 💾 Utilities for file management <span class="paren">(json_dump, json_load, csv_dump, csv_load, read_file, super_copy, super_open, clean_path, ...)</span></span>
94
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.parallel.html">parallel.py</a> <span class="comment"># 🔀 Utility functions for parallel processing <span class="paren">(multiprocessing, multithreading, run_in_subprocess)</span></span>
95
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.image.html">image.py</a> <span class="comment"># 🖼️ Little utilities for image processing <span class="paren">(image_resize, auto_crop, numpy_to_gif, numpy_to_obj)</span></span>
96
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.collections.html">collections.py</a> <span class="comment"># 🧰 Utilities for collection manipulation <span class="paren">(unique_list, sort_dict_keys, upsert_in_dataframe, array_to_disk)</span></span>
97
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.all_doctests.html">all_doctests.py</a> <span class="comment"># ✅ Run all doctests for all modules in a given directory <span class="paren">(launch_tests, test_module_with_progress)</span></span>
98
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.backup.html">backup.py</a> <span class="comment"># 💾 Utilities for backup management <span class="paren">(delta backup, consolidate)</span></span>
99
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.archive.html">archive.py</a> <span class="comment"># 📦 Functions for creating and managing archives</span>
100
+
101
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.html">applications/</a>
102
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.automatic_docs.html">automatic_docs.py</a> <span class="comment"># 📚 Documentation generation utilities <span class="paren">(used to create this documentation)</span></span>
103
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.upscaler.html">upscaler/</a> <span class="comment"># 🔎 Image & Video upscaler <span class="paren">(configurable)</span></span>
104
+ │ └── ...
105
+
106
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.html">continuous_delivery/</a>
107
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.cd_utils.html">cd_utils.py</a> <span class="comment"># 🔧 Utilities for continuous delivery</span>
108
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.github.html">github.py</a> <span class="comment"># 📦 Utilities for continuous delivery on GitHub <span class="paren">(upload_to_github)</span></span>
109
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.pypi.html">pypi.py</a> <span class="comment"># 📦 Utilities for PyPI <span class="paren">(pypi_full_routine)</span></span>
110
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.pyproject.html">pyproject.py</a> <span class="comment"># 📝 Utilities for reading, writing and managing pyproject.toml files</span>
111
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.stubs.html">stubs.py</a> <span class="comment"># 📝 Utilities for generating stub files using stubgen</span>
112
+ │ └── ...
113
+
114
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.html">data_science/</a>
115
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.config.html">config/</a> <span class="comment"># ⚙️ Configuration utilities for data science</span>
116
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.dataset.html">dataset/</a> <span class="comment"># 📊 Dataset handling <span class="paren">(dataset, dataset_loader, grouping_strategy)</span></span>
117
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.data_processing.html">data_processing/</a> <span class="comment"># 🔄 Data processing utilities <span class="paren">(image augmentation, preprocessing)</span></span>
118
+ │ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.data_processing.image.html">image/</a> <span class="comment"># 🖼️ Image processing techniques</span>
119
+ │ │ └── ...
120
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.html">models/</a> <span class="comment"># 🧠 ML/DL model interfaces and implementations</span>
121
+ │ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.keras.html">keras/</a> <span class="comment"># 🤖 Keras model implementations</span>
122
+ │ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.keras_utils.html">keras_utils/</a> <span class="comment"># 🛠️ Keras utilities <span class="paren">(callbacks, losses, visualizations)</span></span>
123
+ │ │ └── ...
124
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.scripts.html">scripts/</a> <span class="comment"># 📜 Data science scripts <span class="paren">(augment, preprocess, routine)</span></span>
125
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.metric_utils.html">metric_utils.py</a> <span class="comment"># 📏 Static methods for calculating various ML metrics</span>
126
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.mlflow_utils.html">mlflow_utils.py</a> <span class="comment"># 📊 Utility functions for working with MLflow</span>
127
+ │ └── ...
128
+
129
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.html">installer/</a>
130
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.common.html">common.py</a> <span class="comment"># 🔧 Common functions used by the Linux and Windows installers modules</span>
131
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.downloader.html">downloader.py</a> <span class="comment"># ⬇️ Functions for downloading and installing programs from URLs</span>
132
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.linux.html">linux.py</a> <span class="comment"># 🐧 Linux/macOS specific implementations for installation</span>
133
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.main.html">main.py</a> <span class="comment"># 🚀 Core installation functions for installing programs from zip files or URLs</span>
134
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.windows.html">windows.py</a> <span class="comment"># 💻 Windows specific implementations for installation</span>
135
+ │ └── ...
136
+ └── ...
137
+ </pre>
138
+ </html>
139
+
140
+ ## 🔧 Installation
141
+
142
+ ```bash
143
+ pip install stouputils
144
+ ```
145
+
146
+ ### ✨ Enable Tab Completion on Linux (Optional)
147
+
148
+ For a better CLI experience, enable bash tab completion:
149
+
150
+ ```bash
151
+ # Option 1: Using argcomplete's global activation
152
+ activate-global-python-argcomplete --user
153
+
154
+ # Option 2: Manual setup for bash
155
+ register-python-argcomplete stouputils >> ~/.bashrc
156
+ source ~/.bashrc
157
+ ```
158
+
159
+ After enabling completion, you can use `<TAB>` to autocomplete commands:
160
+ ```bash
161
+ stouputils <TAB> # Shows: --version, -v, all_doctests, backup
162
+ stouputils all_<TAB> # Completes to: all_doctests
163
+ ```
164
+
165
+ **Note:** Tab completion works best in bash, zsh, Git Bash, or WSL on Windows.
166
+
167
+ ## ⭐ Star History
168
+
169
+ <html>
170
+ <a href="https://star-history.com/#Stoupy51/stouputils&Date">
171
+ <picture>
172
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date&theme=dark" />
173
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date" />
174
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date" />
175
+ </picture>
176
+ </a>
177
+ </html>
178
+
@@ -1,126 +1,136 @@
1
- Metadata-Version: 2.4
2
- Name: stouputils
3
- Version: 1.3.22
4
- Summary: Stouputils is a collection of utility modules designed to simplify and enhance the development process. It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers, and many more.
5
- Project-URL: Homepage, https://github.com/Stoupy51/stouputils
6
- Project-URL: Issues, https://github.com/Stoupy51/stouputils/issues
7
- Author-email: Stoupy51 <stoupy51@gmail.com>
8
- License-File: LICENSE
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Operating System :: OS Independent
11
- Classifier: Programming Language :: Python :: 3
12
- Requires-Python: >=3.10
13
- Requires-Dist: numpy
14
- Requires-Dist: opencv-python>=4.0.0
15
- Requires-Dist: orjson>=3.0.0
16
- Requires-Dist: pillow>=10.0.0
17
- Requires-Dist: pyfastcopy>=1.0.0
18
- Requires-Dist: python-box[all]>=7.0.0
19
- Requires-Dist: pyyaml>=6.0.0
20
- Requires-Dist: requests>=2.20.0
21
- Requires-Dist: toml>=0.10.0
22
- Requires-Dist: tqdm>=4.0.0
23
- Description-Content-Type: text/markdown
24
-
25
- # 🛠️ Project Badges
26
- [![GitHub](https://img.shields.io/github/v/release/Stoupy51/stouputils?logo=github&label=GitHub)](https://github.com/Stoupy51/stouputils/releases/latest)
27
- [![PyPI - Downloads](https://img.shields.io/pypi/dm/stouputils?logo=python&label=PyPI%20downloads)](https://pypi.org/project/stouputils/)
28
- [![Documentation](https://img.shields.io/github/v/release/Stoupy51/stouputils?logo=sphinx&label=Documentation&color=purple)](https://stoupy51.github.io/stouputils/latest/)
29
-
30
- <br>
31
-
32
- # 📚 Project Overview
33
- Stouputils is a collection of utility modules designed to simplify and enhance the development process.<br>
34
- It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers.
35
-
36
-
37
- # 🚀 Project File Tree
38
- <html>
39
- <details style="display: none;">
40
- <summary></summary>
41
- <style>
42
- .code-tree {
43
- border-radius: 6px;
44
- padding: 16px;
45
- font-family: monospace;
46
- line-height: 1.45;
47
- overflow: auto;
48
- white-space: pre;
49
- background-color:rgb(43, 43, 43);
50
- color: #d4d4d4;
51
- }
52
- .code-tree a {
53
- color: #569cd6;
54
- text-decoration: none;
55
- }
56
- .code-tree a:hover {
57
- text-decoration: underline;
58
- }
59
- .code-tree .comment {
60
- color:rgb(231, 213, 48);
61
- }
62
- </style>
63
- </details>
64
-
65
- <pre class="code-tree">stouputils/
66
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.html">applications/</a>
67
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.automatic_docs.html">automatic_docs.py</a> <span class="comment"># 📚 Documentation generation utilities (used to create this documentation)</span>
68
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.upscaler.html">upscaler/</a> <span class="comment"># 🔎 Image & Video upscaler (configurable)</span>
69
- └── ...
70
-
71
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.html">continuous_delivery/</a>
72
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.cd_utils.html">cd_utils.py</a> <span class="comment"># 🔧 Common utilities for continuous delivery</span>
73
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.github.html">github.py</a> <span class="comment"># 📦 GitHub utilities (upload_to_github)</span>
74
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.pypi.html">pypi.py</a> <span class="comment"># 📦 PyPI utilities (pypi_full_routine)</span>
75
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.pyproject.html">pyproject.py</a> <span class="comment"># 📝 Pyproject.toml utilities</span>
76
- └── ...
77
-
78
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.html">data_science/</a>
79
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.config.html">config/</a> <span class="comment"># ⚙️ Configuration utilities for data science</span>
80
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.dataset.html">dataset/</a> <span class="comment"># 📊 Dataset handling (dataset, dataset_loader, grouping_strategy)</span>
81
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.data_processing.html">data_processing/</a> <span class="comment"># 🔄 Data processing utilities (image augmentation, preprocessing)</span>
82
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.data_processing.image.html">image/</a> <span class="comment"># 🖼️ Image processing techniques</span>
83
- │ └── ...
84
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.html">models/</a> <span class="comment"># 🧠 ML/DL model interfaces and implementations</span>
85
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.keras.html">keras/</a> <span class="comment"># 🤖 Keras model implementations</span>
86
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.keras_utils.html">keras_utils/</a> <span class="comment"># 🛠️ Keras utilities (callbacks, losses, visualizations)</span>
87
- │ │ └── ...
88
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.scripts.html">scripts/</a> <span class="comment"># 📜 Data science scripts (augment, preprocess, routine)</span>
89
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.metric_utils.html">metric_utils.py</a> <span class="comment"># 📏 Metrics utilities for ML/DL models</span>
90
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.mlflow_utils.html">mlflow_utils.py</a> <span class="comment"># 📊 MLflow integration utilities</span>
91
- └── ...
92
-
93
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.html">installer/</a>
94
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.common.html">common.py</a> <span class="comment"># 🔧 Common installer utilities</span>
95
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.downloader.html">downloader.py</a> <span class="comment"># ⬇️ File download utilities</span>
96
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.linux.html">linux.py</a> <span class="comment"># 🐧 Linux-specific installer utilities</span>
97
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.main.html">main.py</a> <span class="comment"># 🚀 Main installer functionality</span>
98
- │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.windows.html">windows.py</a> <span class="comment"># 💻 Windows-specific installer utilities</span>
99
- │ └── ...
100
-
101
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.all_doctests.html">all_doctests.py</a> <span class="comment"># ✅ Execution of all doctests for a given path</span>
102
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.archive.html">archive.py</a> <span class="comment"># 📦 Archive utilities (zip, repair_zip)</span>
103
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.backup.html">backup.py</a> <span class="comment"># 📦 Backup utilities (delta backup, consolidate)</span>
104
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.collections.html">collections.py</a> <span class="comment"># 🧰 Collection utilities (unique_list)</span>
105
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.ctx.html">ctx.py</a> <span class="comment"># 🚫 Context managers (Muffle, LogToFile)</span>
106
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.decorators.html">decorators.py</a> <span class="comment"># 🎯 Decorators (silent, measure_time, error_handler, simple_cache)</span>
107
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.image.html">image.py</a> <span class="comment"># 🖼️ Image utilities (image_resize)</span>
108
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.io.html">io.py</a> <span class="comment"># 💻 I/O utilities (file management, json)</span>
109
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.parallel.html">parallel.py</a> <span class="comment"># 🧑‍🤝‍🧑 Parallel processing (multiprocessing, multithreading)</span>
110
- ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.print.html">print.py</a> <span class="comment"># 🖨️ Display utilities (info, debug, warning, error)</span>
111
- └── ...
112
- </pre>
113
- </html>
114
-
115
- ## ⭐ Star History
116
-
117
- <html>
118
- <a href="https://star-history.com/#Stoupy51/stouputils&Date">
119
- <picture>
120
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date&theme=dark" />
121
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date" />
122
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date" />
123
- </picture>
124
- </a>
125
- </html>
126
-
1
+
2
+ ## 🛠️ Project Badges
3
+ [![GitHub](https://img.shields.io/github/v/release/Stoupy51/stouputils?logo=github&label=GitHub)](https://github.com/Stoupy51/stouputils/releases/latest)
4
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/stouputils?logo=python&label=PyPI%20downloads)](https://pypi.org/project/stouputils/)
5
+ [![Documentation](https://img.shields.io/github/v/release/Stoupy51/stouputils?logo=sphinx&label=Documentation&color=purple)](https://stoupy51.github.io/stouputils/latest/)
6
+
7
+ ## 📚 Project Overview
8
+ Stouputils is a collection of utility modules designed to simplify and enhance the development process.<br>
9
+ It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers.<br>
10
+ Start now by installing the package: `pip install stouputils`.<br>
11
+
12
+ <a href="https://colab.research.google.com/drive/1mJ-KL-zXzIk1oKDxO6FC1SFfm-BVKG-P?usp=sharing" target="_blank" rel="noopener noreferrer" style="text-decoration: none;"><div class="admonition">
13
+ 📖 <b>Want to see examples?</b> Check out our <u>Google Colab notebook</u> with practical usage examples!
14
+ </div></a>
15
+
16
+ ## 🚀 Project File Tree
17
+ <html>
18
+ <details style="display: none;">
19
+ <summary></summary>
20
+ <style>
21
+ .code-tree {
22
+ border-radius: 6px;
23
+ padding: 16px;
24
+ font-family: monospace;
25
+ line-height: 1.45;
26
+ overflow: auto;
27
+ white-space: pre;
28
+ background-color:rgb(43, 43, 43);
29
+ color: #d4d4d4;
30
+ }
31
+ .code-tree a {
32
+ color: #569cd6;
33
+ text-decoration: none;
34
+ }
35
+ .code-tree a:hover {
36
+ text-decoration: underline;
37
+ }
38
+ .code-tree .comment {
39
+ color:rgb(231, 213, 48);
40
+ }
41
+ .code-tree .paren {
42
+ color: orange;
43
+ }
44
+ </style>
45
+ </details>
46
+
47
+ <pre class="code-tree">stouputils/
48
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.print.html">print.py</a> <span class="comment"># 🖨️ Utility functions for printing <span class="paren">(info, debug, warning, error, whatisit, breakpoint, colored_for_loop, ...)</span></span>
49
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.decorators.html">decorators.py</a> <span class="comment"># 🎯 Decorators <span class="paren">(measure_time, handle_error, timeout, retry, simple_cache, abstract, deprecated, silent)</span></span>
50
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.ctx.html">ctx.py</a> <span class="comment"># 🔇 Context managers <span class="paren">(LogToFile, MeasureTime, Muffle, DoNothing, SetMPStartMethod)</span></span>
51
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.io.html">io.py</a> <span class="comment"># 💾 Utilities for file management <span class="paren">(json_dump, json_load, csv_dump, csv_load, read_file, super_copy, super_open, clean_path, ...)</span></span>
52
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.parallel.html">parallel.py</a> <span class="comment"># 🔀 Utility functions for parallel processing <span class="paren">(multiprocessing, multithreading, run_in_subprocess)</span></span>
53
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.image.html">image.py</a> <span class="comment"># 🖼️ Little utilities for image processing <span class="paren">(image_resize, auto_crop, numpy_to_gif, numpy_to_obj)</span></span>
54
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.collections.html">collections.py</a> <span class="comment"># 🧰 Utilities for collection manipulation <span class="paren">(unique_list, sort_dict_keys, upsert_in_dataframe, array_to_disk)</span></span>
55
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.all_doctests.html">all_doctests.py</a> <span class="comment"># ✅ Run all doctests for all modules in a given directory <span class="paren">(launch_tests, test_module_with_progress)</span></span>
56
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.backup.html">backup.py</a> <span class="comment"># 💾 Utilities for backup management <span class="paren">(delta backup, consolidate)</span></span>
57
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.archive.html">archive.py</a> <span class="comment"># 📦 Functions for creating and managing archives</span>
58
+
59
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.html">applications/</a>
60
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.automatic_docs.html">automatic_docs.py</a> <span class="comment"># 📚 Documentation generation utilities <span class="paren">(used to create this documentation)</span></span>
61
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.applications.upscaler.html">upscaler/</a> <span class="comment"># 🔎 Image & Video upscaler <span class="paren">(configurable)</span></span>
62
+ │ └── ...
63
+
64
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.html">continuous_delivery/</a>
65
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.cd_utils.html">cd_utils.py</a> <span class="comment"># 🔧 Utilities for continuous delivery</span>
66
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.github.html">github.py</a> <span class="comment"># 📦 Utilities for continuous delivery on GitHub <span class="paren">(upload_to_github)</span></span>
67
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.pypi.html">pypi.py</a> <span class="comment"># 📦 Utilities for PyPI <span class="paren">(pypi_full_routine)</span></span>
68
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.pyproject.html">pyproject.py</a> <span class="comment"># 📝 Utilities for reading, writing and managing pyproject.toml files</span>
69
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.continuous_delivery.stubs.html">stubs.py</a> <span class="comment"># 📝 Utilities for generating stub files using stubgen</span>
70
+ └── ...
71
+
72
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.html">data_science/</a>
73
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.config.html">config/</a> <span class="comment"># ⚙️ Configuration utilities for data science</span>
74
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.dataset.html">dataset/</a> <span class="comment"># 📊 Dataset handling <span class="paren">(dataset, dataset_loader, grouping_strategy)</span></span>
75
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.data_processing.html">data_processing/</a> <span class="comment"># 🔄 Data processing utilities <span class="paren">(image augmentation, preprocessing)</span></span>
76
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.data_processing.image.html">image/</a> <span class="comment"># 🖼️ Image processing techniques</span>
77
+ │ └── ...
78
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.html">models/</a> <span class="comment"># 🧠 ML/DL model interfaces and implementations</span>
79
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.keras.html">keras/</a> <span class="comment"># 🤖 Keras model implementations</span>
80
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.models.keras_utils.html">keras_utils/</a> <span class="comment"># 🛠️ Keras utilities <span class="paren">(callbacks, losses, visualizations)</span></span>
81
+ │ └── ...
82
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.scripts.html">scripts/</a> <span class="comment"># 📜 Data science scripts <span class="paren">(augment, preprocess, routine)</span></span>
83
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.metric_utils.html">metric_utils.py</a> <span class="comment"># 📏 Static methods for calculating various ML metrics</span>
84
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.data_science.mlflow_utils.html">mlflow_utils.py</a> <span class="comment"># 📊 Utility functions for working with MLflow</span>
85
+ └── ...
86
+
87
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.html">installer/</a>
88
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.common.html">common.py</a> <span class="comment"># 🔧 Common functions used by the Linux and Windows installers modules</span>
89
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.downloader.html">downloader.py</a> <span class="comment"># ⬇️ Functions for downloading and installing programs from URLs</span>
90
+ │ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.linux.html">linux.py</a> <span class="comment"># 🐧 Linux/macOS specific implementations for installation</span>
91
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.main.html">main.py</a> <span class="comment"># 🚀 Core installation functions for installing programs from zip files or URLs</span>
92
+ ├── <a href="https://stoupy51.github.io/stouputils/latest/modules/stouputils.installer.windows.html">windows.py</a> <span class="comment"># 💻 Windows specific implementations for installation</span>
93
+ │ └── ...
94
+ └── ...
95
+ </pre>
96
+ </html>
97
+
98
+ ## 🔧 Installation
99
+
100
+ ```bash
101
+ pip install stouputils
102
+ ```
103
+
104
+ ### Enable Tab Completion on Linux (Optional)
105
+
106
+ For a better CLI experience, enable bash tab completion:
107
+
108
+ ```bash
109
+ # Option 1: Using argcomplete's global activation
110
+ activate-global-python-argcomplete --user
111
+
112
+ # Option 2: Manual setup for bash
113
+ register-python-argcomplete stouputils >> ~/.bashrc
114
+ source ~/.bashrc
115
+ ```
116
+
117
+ After enabling completion, you can use `<TAB>` to autocomplete commands:
118
+ ```bash
119
+ stouputils <TAB> # Shows: --version, -v, all_doctests, backup
120
+ stouputils all_<TAB> # Completes to: all_doctests
121
+ ```
122
+
123
+ **Note:** Tab completion works best in bash, zsh, Git Bash, or WSL on Windows.
124
+
125
+ ## ⭐ Star History
126
+
127
+ <html>
128
+ <a href="https://star-history.com/#Stoupy51/stouputils&Date">
129
+ <picture>
130
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date&theme=dark" />
131
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date" />
132
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Stoupy51/stouputils&type=Date" />
133
+ </picture>
134
+ </a>
135
+ </html>
136
+
@@ -0,0 +1,102 @@
1
+
2
+ [build-system]
3
+ requires = ["uv_build"]
4
+ build-backend = "uv_build"
5
+
6
+ [tool.uv.build-backend]
7
+ module-root = ""
8
+
9
+ [project]
10
+ name = "stouputils"
11
+ version = "1.15.0"
12
+ description = "Stouputils is a collection of utility modules designed to simplify and enhance the development process. It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers, and many more."
13
+ readme = "README.md"
14
+ keywords = ["utilities", "tools", "helpers", "development", "python"]
15
+ requires-python = ">=3.12"
16
+ classifiers = [
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3.12",
19
+ "Programming Language :: Python :: 3.13",
20
+ "Programming Language :: Python :: 3.14",
21
+ "License :: OSI Approved :: MIT License",
22
+ "Operating System :: OS Independent",
23
+ ]
24
+ dependencies = [
25
+ "tqdm>=4.0.0",
26
+ "requests>=2.20.0",
27
+ "msgspec[toml,yaml]>=0.20.0",
28
+ "pillow>=12.0.0",
29
+ "python-box>=7.0.0",
30
+ "argcomplete>=3.0.0",
31
+ "numpy",
32
+ ]
33
+ authors = [
34
+ { name = "Stoupy51", email = "stoupy51@gmail.com" },
35
+ ]
36
+
37
+ [project.optional-dependencies]
38
+ docs = [
39
+ "m2r2",
40
+ "myst_parser",
41
+ "sphinx_copybutton",
42
+ "sphinx_design",
43
+ "sphinx_treeview",
44
+ "sphinx_breeze_theme",
45
+ "pydata_sphinx_theme",
46
+ ]
47
+ data_science = [
48
+ "opencv-python",
49
+ "scikit-image",
50
+ "simpleitk",
51
+ "mlflow",
52
+ "tensorflow",
53
+ "scikit-learn",
54
+ "PyWavelets",
55
+ ]
56
+
57
+ [project.urls]
58
+ Homepage = "https://stoupy51.github.io/stouputils"
59
+ Issues = "https://github.com/Stoupy51/stouputils/issues"
60
+ Source = "https://github.com/Stoupy51/stouputils"
61
+
62
+ [project.scripts]
63
+ stouputils = "stouputils.__main__:main"
64
+
65
+ [tool.pyright]
66
+ typeCheckingMode = "strict"
67
+
68
+ [tool.ruff]
69
+ exclude = [
70
+ ".git",
71
+ ".ruff_cache",
72
+ ".venv",
73
+ ".vscode",
74
+ ".cursor",
75
+ "build",
76
+ "dist",
77
+ "*.pyi",
78
+ ]
79
+ line-length = 200
80
+
81
+ [tool.ruff.lint]
82
+ select = [
83
+ "E",
84
+ "W",
85
+ "F",
86
+ "I",
87
+ "N",
88
+ "UP",
89
+ "B",
90
+ "C4",
91
+ "T20",
92
+ "RUF",
93
+ ]
94
+ ignore = [
95
+ "T201",
96
+ "W191",
97
+ "N803",
98
+ "N806",
99
+ "F403",
100
+ "F405",
101
+ ]
102
+
@@ -14,15 +14,16 @@ Key Features:
14
14
  - Doctests utilities
15
15
 
16
16
  """
17
- # ruff: noqa: F403
17
+ # Version (handle case where the package is not installed)
18
+ from importlib.metadata import PackageNotFoundError
19
+ from importlib.metadata import version as importlib_version
18
20
 
19
21
  # Imports
22
+ from ._deprecated import *
20
23
  from .all_doctests import *
21
24
  from .archive import *
22
25
  from .backup import *
23
26
  from .collections import *
24
-
25
- # Folders
26
27
  from .continuous_delivery import *
27
28
  from .ctx import *
28
29
  from .decorators import *
@@ -30,12 +31,10 @@ from .image import *
30
31
  from .io import *
31
32
  from .parallel import *
32
33
  from .print import *
33
-
34
- # Version (handle case where the package is not installed)
35
- import importlib.metadata
34
+ from .version_pkg import *
36
35
 
37
36
  try:
38
- __version__: str = importlib.metadata.version("stouputils")
39
- except importlib.metadata.PackageNotFoundError:
37
+ __version__: str = importlib_version("stouputils")
38
+ except PackageNotFoundError:
40
39
  __version__: str = "0.0.0-dev"
41
40