radnn 0.0.7.3__py3-none-any.whl → 0.0.9__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.
Files changed (35) hide show
  1. radnn/__init__.py +3 -1
  2. radnn/data/__init__.py +2 -0
  3. radnn/data/data_feed.py +5 -0
  4. radnn/data/dataset_base.py +17 -5
  5. radnn/data/dataset_folder.py +55 -0
  6. radnn/data/image_dataset_files.py +175 -0
  7. radnn/data/subset_type.py +8 -2
  8. radnn/data/tf_classification_data_feed.py +22 -6
  9. radnn/experiment/ml_experiment_config.py +54 -29
  10. radnn/images/__init__.py +2 -0
  11. radnn/images/colors.py +28 -0
  12. radnn/images/image_processor.py +513 -0
  13. radnn/ml_system.py +1 -0
  14. radnn/plots/plot_auto_multi_image.py +6 -5
  15. radnn/stats/__init__.py +1 -0
  16. radnn/stats/descriptive_stats.py +45 -0
  17. radnn/system/files/__init__.py +1 -0
  18. radnn/system/files/filelist.py +40 -0
  19. radnn/system/files/jsonfile.py +3 -0
  20. radnn/system/files/textfile.py +29 -6
  21. radnn/system/filestore.py +26 -10
  22. radnn/system/filesystem.py +1 -1
  23. radnn/system/hosts/windows_host.py +10 -0
  24. radnn/system/threads/__init__.py +5 -0
  25. radnn/system/threads/semaphore_lock.py +58 -0
  26. radnn/system/threads/thread_context.py +175 -0
  27. radnn/system/threads/thread_safe_queue.py +163 -0
  28. radnn/system/threads/thread_safe_string_collection.py +66 -0
  29. radnn/system/threads/thread_worker.py +68 -0
  30. radnn/utils.py +43 -0
  31. {radnn-0.0.7.3.dist-info → radnn-0.0.9.dist-info}/METADATA +4 -25
  32. {radnn-0.0.7.3.dist-info → radnn-0.0.9.dist-info}/RECORD +35 -21
  33. {radnn-0.0.7.3.dist-info → radnn-0.0.9.dist-info}/WHEEL +1 -1
  34. {radnn-0.0.7.3.dist-info → radnn-0.0.9.dist-info/licenses}/LICENSE.txt +0 -0
  35. {radnn-0.0.7.3.dist-info → radnn-0.0.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,68 @@
1
+ # ======================================================================================
2
+ #
3
+ # Rapid Deep Neural Networks
4
+ #
5
+ # Licensed under the MIT License
6
+ # ______________________________________________________________________________________
7
+ # ......................................................................................
8
+
9
+ # Copyright (c) 2018-2025 Pantelis I. Kaplanoglou
10
+
11
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ # of this software and associated documentation files (the "Software"), to deal
13
+ # in the Software without restriction, including without limitation the rights
14
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ # copies of the Software, and to permit persons to whom the Software is
16
+ # furnished to do so, subject to the following conditions:
17
+
18
+ # The above copyright notice and this permission notice shall be included in all
19
+ # copies or substantial portions of the Software.
20
+
21
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ # SOFTWARE.
28
+
29
+ # .......................................................................................
30
+ from time import sleep
31
+ from .thread_context import ThreadContext
32
+ from .thread_safe_queue import ThreadSafeQueue
33
+ from .thread_safe_string_collection import StringCollectionThreadSafe
34
+
35
+
36
+
37
+ class ThreadWorker(ThreadContext):
38
+ # ------------------------------------------------------------------------------------------------------------------
39
+ def __init__(self, name=None, p_nLoopSleepIntervalMS=100, p_oQueue=None, p_oLog=None, is_daemon_thread=True):
40
+ super(ThreadWorker, self).__init__(name, is_daemon_thread=is_daemon_thread)
41
+ #........................... | Instance Attributes | ...........................
42
+ self.SleepIntervalMsecs = p_nLoopSleepIntervalMS
43
+ self.SleepIntervalMsecs
44
+ self.Queue = p_oQueue
45
+ self.Log = None
46
+ #................................................................................
47
+
48
+ # auto create the queue and its log
49
+ if p_oQueue is None:
50
+ self.Queue = ThreadSafeQueue()
51
+ if p_oLog is None:
52
+ self.Log = StringCollectionThreadSafe()
53
+ # ------------------------------------------------------------------------------------------------------------------
54
+ def ThreadMain(self, p_oArgs):
55
+ nSleepInterval = float(self.SleepIntervalMsecs/1000)
56
+
57
+ while self.must_continue:
58
+ if not self.Queue.is_empty():
59
+ oMessage = self.Queue.pop()
60
+ if oMessage is not None:
61
+ self.ThreadInvokeMethod(oMessage)
62
+ sleep(nSleepInterval)
63
+ # ------------------------------------------------------------------------------------------------------------------
64
+ def ThreadInvokeMethod(self, p_oMessage): #virtual
65
+ pass
66
+ # ------------------------------------------------------------------------------------------------------------------
67
+
68
+
radnn/utils.py CHANGED
@@ -31,7 +31,27 @@ import numpy as np
31
31
  import time
32
32
  import hashlib
33
33
  import zlib
34
+ import contextlib
34
35
 
36
+ phi=(1.0+np.sqrt(5.0))/2.0
37
+
38
+
39
+ # --------------------------------------------------------------------------------------
40
+ '''
41
+ Checks if the p_sSettingsName is inside the settings dictionary p_dConfig
42
+ and returns its value, otherwise the p_oDefault value
43
+ '''
44
+ def default_value(dictionary, key, default_value=None):
45
+ if key in dictionary:
46
+ return dictionary[key]
47
+ else:
48
+ return default_value
49
+ # ----------------------------------------------------------------------------------------------------------------------
50
+ def camel_case(text: str):
51
+ return "".join([sWord.capitalize() for sWord in text.split()])
52
+ # ----------------------------------------------------------------------------------------------------------------------
53
+ def snake_case(text):
54
+ return "_".join(text.lower().split())
35
55
  # ----------------------------------------------------------------------------------------------------------------------
36
56
  def interactive_matplotlib():
37
57
  import matplotlib
@@ -51,6 +71,29 @@ def data_hash(data: np.ndarray):
51
71
  def data_crc32(data: np.ndarray):
52
72
  nBytes = data.tobytes()
53
73
  return zlib.crc32(nBytes)
74
+ # --------------------------------------------------------------------------------------
75
+ def set_float_format(decimal_digits):
76
+ np.set_printoptions(decimal_digits, suppress=True)
77
+ np.set_printoptions(edgeitems=10)
78
+ np.core.arrayprint._line_width = 180
79
+ # ----------------------------------------------------------------------------------------------------------------------
80
+ @contextlib.contextmanager
81
+ def print_options(*args, **kwargs):
82
+ original = np.get_printoptions()
83
+ np.set_printoptions(*args, **kwargs)
84
+ try:
85
+ yield
86
+ finally:
87
+ np.set_printoptions(**original)
88
+ # ----------------------------------------------------------------------------------------------------------------------
89
+ @contextlib.contextmanager
90
+ def print_options_float(precision=6):
91
+ original = np.get_printoptions()
92
+ np.set_printoptions(precision=precision, suppress=True)
93
+ try:
94
+ yield
95
+ finally:
96
+ np.set_printoptions(**original)
54
97
  # ----------------------------------------------------------------------------------------------------------------------
55
98
  def print_tensor(tensor: np.ndarray, title=None, format="%+.3f", axes_descr=["Sample"]):
56
99
  # ................................................
@@ -1,35 +1,13 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: radnn
3
- Version: 0.0.7.3
3
+ Version: 0.0.9
4
4
  Summary: Rapid Deep Neural Networks
5
5
  Author-email: "Pantelis I. Kaplanoglou" <pikaplanoglou@ihu.gr>
6
- License: MIT License
7
-
8
- Copyright (c) 2017-2025 Pantelis I. Kaplanoglou
9
-
10
- Permission is hereby granted, free of charge, to any person obtaining a copy
11
- of this software and associated documentation files (the "Software"), to deal
12
- in the Software without restriction, including without limitation the rights
13
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
- copies of the Software, and to permit persons to whom the Software is
15
- furnished to do so, subject to the following conditions:
16
-
17
- The above copyright notice and this permission notice shall be included in all
18
- copies or substantial portions of the Software.
19
-
20
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
- SOFTWARE.
27
-
6
+ License-Expression: MIT
28
7
  Project-URL: Homepage, https://github.com/pikaplan/radnn
29
8
  Project-URL: Documentation, https://radnn.readthedocs.io/
30
9
  Classifier: Intended Audience :: Science/Research
31
10
  Classifier: Intended Audience :: Developers
32
- Classifier: License :: OSI Approved :: MIT License
33
11
  Classifier: Programming Language :: Python
34
12
  Classifier: Topic :: Software Development
35
13
  Classifier: Topic :: Scientific/Engineering
@@ -47,6 +25,7 @@ Requires-Dist: numpy>=1.26.4
47
25
  Requires-Dist: matplotlib>=3.8.4
48
26
  Requires-Dist: pandas>=2.2.1
49
27
  Requires-Dist: scikit-learn>=1.4.2
28
+ Dynamic: license-file
50
29
 
51
30
  # radnn - Rapid Deep Neural Networks
52
31
 
@@ -1,16 +1,18 @@
1
- radnn/__init__.py,sha256=O1TYOKNZnvLZeRHro5lPlyMZQF_eLLGIoqP2ECgUKts,363
1
+ radnn/__init__.py,sha256=uknFzhEVVS5y1sy4AeAc6YGb2t5ZulzG7muKMXwrT-A,429
2
2
  radnn/core.py,sha256=-v25_yJyioyH_juGPJLWvKojwkdy4AF2TuWMPcnqjDA,4565
3
3
  radnn/errors.py,sha256=gFiJYngMO24BApzd1auSBNASeS238MAmG3tubCr0POU,1716
4
- radnn/ml_system.py,sha256=tbk2gE38Pn38RA7xnvEWe57aUhgQkX-lGdHcgLJqA0Q,5881
5
- radnn/utils.py,sha256=8HvUWYJL_5k0QOKlvyRTQ9KKtmX3SjnOwBz7DlHTAZI,5898
6
- radnn/data/__init__.py,sha256=Fqs6z2KXEQ8GKw7K_kXcT4WSlAMskJAFGZLpdWWulpo,351
7
- radnn/data/data_feed.py,sha256=ByYBi6iq_Qv63MPfq4IBkw-DnFSAqcsK-sX-PeyYuTs,7061
8
- radnn/data/dataset_base.py,sha256=VRGlXZhcBb7i5p39GbqUjau12UxPb2kwBVQTZTVG-WI,15184
4
+ radnn/ml_system.py,sha256=ycd9y26br7TvIWE39X6DBJ5jEU8A_6fmwr9F4htK8mI,5927
5
+ radnn/utils.py,sha256=7WY0c0ZalfE4XJJuolK-KgW4FFEBL4HfiLuaEAJGVt4,7675
6
+ radnn/data/__init__.py,sha256=IExy6eV9QSr3b2LaI3cND7P4W-kPHivHMleJsKETh00,405
7
+ radnn/data/data_feed.py,sha256=Hb8eROxZ7OFJ9a4-CM6Dibbx7v46QbkoiSIAjwCfs1Y,7290
8
+ radnn/data/dataset_base.py,sha256=fuYFFypHzYnH3CWb1psfXdjTuU_YRCEaJuotUtpEufk,15903
9
+ radnn/data/dataset_folder.py,sha256=-6dL61ptVpHyMf1hc7B87w6oaLrZYOY6CGJVBkmhqp8,2475
9
10
  radnn/data/image_dataset.py,sha256=2TOKXKml0qzj1CvMfJdMMjE3QhquCD-lZIsttFDuBoM,4516
11
+ radnn/data/image_dataset_files.py,sha256=9CLIu44MYq6LIU58o-qxqPucnXxRq4rQnAwTAYFuJ3c,7508
10
12
  radnn/data/sample_set.py,sha256=WMhXxl2yW749l9TbcjGsh9sCXHRKTyeJkhY5Y_PpO5A,7281
11
13
  radnn/data/sequence_dataset.py,sha256=CRKeHjOF34TRmTLIWVp2oLv2eVETrhVH4KDI61hHgZM,6205
12
- radnn/data/subset_type.py,sha256=y7R-hyGHUERI8hx1VRQDC6ogudczZEuKLYMA4QATVB8,1798
13
- radnn/data/tf_classification_data_feed.py,sha256=Md0DVDit0KkLQ_M3R2aT30MH-EbK-hjB0rLBXtCDWTI,5592
14
+ radnn/data/subset_type.py,sha256=AEjFmi4OHDR_ZjXT3bK-7NTc3rUbIaUoEoXFN5XAQYM,1997
15
+ radnn/data/tf_classification_data_feed.py,sha256=EgF7lIzYTWfi9azO3vnqfoi4xW0Zvu6227DsM9cVB7U,6645
14
16
  radnn/data/preprocess/__init__.py,sha256=6JTaWzzeXAbIXkH8O9JDawtObutCyXQjHEZdlofSics,74
15
17
  radnn/data/preprocess/normalizer.py,sha256=QgXuFOLrJPdgmas2mRu7KWeT_1dzx3wyz5dA8EGCcqs,5832
16
18
  radnn/data/preprocess/standardizer.py,sha256=RTGIoniYSY0jvc_ILGU1iwDOR8SDL6s_aM_TQi8swoI,5413
@@ -18,9 +20,12 @@ radnn/evaluation/__init__.py,sha256=7dXDyJfOpSAr7G8jfDofsW4YEHNElCTTyMXuLCtpoOI,
18
20
  radnn/evaluation/evaluate_classification.py,sha256=ma8TdBFrUua00dMJVlT5J9-ITEOuT3ySSEc4hgOgoIU,5738
19
21
  radnn/experiment/__init__.py,sha256=8gxrFS4bG7rg2kgrDEhemJgDbO-5KhBYc4owJZ-S--k,247
20
22
  radnn/experiment/ml_experiment.py,sha256=Cq-Cvn5kd97uJGKIr4DOoNTwULt5XKUdBu5sunD0dKg,19426
21
- radnn/experiment/ml_experiment_config.py,sha256=bfuMyC6LQNQuavuiKVJt8HYyZxRhN-2zQi70-2FfWi4,10026
23
+ radnn/experiment/ml_experiment_config.py,sha256=ui7oFCgFeOpcBJ3aiAFI-W4J3miUaGU3b_skK_OSs64,11202
22
24
  radnn/experiment/ml_experiment_env.py,sha256=zoB5NxvFn5CyTq_FRsxB01HrnfnHLcYJUOTgPjL4_ac,11447
23
25
  radnn/experiment/ml_experiment_store.py,sha256=Ph-4DQ9zEjhxZlQ13t-qnmCyxsKwsO2Df_Kj0vbMS_Q,396
26
+ radnn/images/__init__.py,sha256=Mk7zKHQRDmCX-A4b1xw-3yxIwEApY-wlZTKiQr3eCqE,100
27
+ radnn/images/colors.py,sha256=l6caSV2a_TURl1qHYKdehQDk0MCVMz-614OuVx-wnsg,1248
28
+ radnn/images/image_processor.py,sha256=YEGq06Dwv1k7W2SiVU0rvo7_RA7HJnXxluLVSqRHt2w,19983
24
29
  radnn/learn/__init__.py,sha256=gF-5pD1OxrxhOeO7G7wbpr37LRjGkT71PY78Li3bBJU,252
25
30
  radnn/learn/keras_learning_rate_scheduler.py,sha256=l0c53dtq1W5oclXDLxXzUlmBG_hzO-19EFRw3518PJs,1156
26
31
  radnn/learn/keras_optimization_algorithm.py,sha256=ff3S_3CJ2t0N4_TZiGDpiAhExquRsqAGZDc42werGJo,1686
@@ -28,29 +33,38 @@ radnn/learn/learning_algorithm.py,sha256=Z8OSiNLLCD5AesMQ0ioODFMHBfW13Dh5OSVPnFw
28
33
  radnn/learn/state/__init__.py,sha256=zExYBp7mkQlzDZX3jnzYa5piwOEFxUwe6ZvKI6IiE6o,117
29
34
  radnn/learn/state/keras_best_state_saver.py,sha256=ep9QP7bZqmN8XmSzUpRXuBh6ccrbhFdFL4p5c3pg3MA,883
30
35
  radnn/plots/__init__.py,sha256=dVd7QDrkD_fBUag4Kz3yTnPvBxaBgpDt16bbbNlqLKw,286
31
- radnn/plots/plot_auto_multi_image.py,sha256=o-uFZSg9TuFtK1COKR9mANlmJmiQ_5xeaRLIMqVbA7E,4984
36
+ radnn/plots/plot_auto_multi_image.py,sha256=MH7Qo7Fv3qFj2nM58NSrkLMgbvfB-ZRukE4uthswjvM,5038
32
37
  radnn/plots/plot_confusion_matrix.py,sha256=0pJben22SEgpIEUDI5t2NNdiiHOtfBcDRR1FQh09YMw,2865
33
38
  radnn/plots/plot_learning_curve.py,sha256=sD6o8tKxV8PkKMdhHKR69uIgHU_vzKdhxFPV-5eU4W0,3722
34
39
  radnn/plots/plot_multi_scatter.py,sha256=OfO-b38L7qYg93-oohLpJGYyj-3jkXdFn6lXu0F-QVc,5039
35
40
  radnn/plots/plot_roc.py,sha256=LisQZ4XFCoHHT9kOJtgKMu-6F1zdT4SKJ_lmROZEz94,3735
36
41
  radnn/plots/plot_voronoi_2d.py,sha256=mxGAVfnDVCBn3-soYlD-LS32meeLpmfibIUZB-Tier0,4649
42
+ radnn/stats/__init__.py,sha256=o0uaqIPrlvCFiZEDRowZaVrSYg3m2etkHpBttNySDeU,47
43
+ radnn/stats/descriptive_stats.py,sha256=9PJo4OtcLt4pJGx6BSEKm6GgbyerstJ3z87iglMVoic,2391
37
44
  radnn/system/__init__.py,sha256=uJLg56njcLtaRO0Kyudat055DGxqWsLMvrn9P8_Rt6A,119
38
- radnn/system/filestore.py,sha256=S3WuG7r6v2fENFQmYRDN2xyVM5OqqVli9EKati9ybTs,9210
39
- radnn/system/filesystem.py,sha256=QdKLKFWsqU0m2GK5smZEEraRenhuAexTVGztMIdF6hE,5810
45
+ radnn/system/filestore.py,sha256=q-zS4gO-Ad21ZFvU_8keNR1wfp7j5WL4zLF8asiI2Jg,10209
46
+ radnn/system/filesystem.py,sha256=0xLo0beXllMMWbb14lay7otbRAQikP7jnMnqiNyI16o,5809
40
47
  radnn/system/tee_logger.py,sha256=le453-SWpnvODW9y8OXErsnXLQXDahG7pml9-vKsLG4,2871
41
- radnn/system/files/__init__.py,sha256=u2oGHNKM362JwqrDgwmWTAiisL067h6H9uu-d0iTBks,169
48
+ radnn/system/files/__init__.py,sha256=BodOzEeTstmcnepXsmF2j3ozceaLFjuS4xA7FHN-dsI,201
42
49
  radnn/system/files/csvfile.py,sha256=xoV0tGKDKlIq20P7-9NQ2Pq0rX3XrM-fTgumWN-uHmI,2486
50
+ radnn/system/files/filelist.py,sha256=HsyBUtDSKmo_aGfezIvmLqtCCbH-y7Ybv03Tb1ZZKO4,2042
43
51
  radnn/system/files/fileobject.py,sha256=nHz0JumwsO_T9BNLbCzkhca6i5ScweYuIenhpaLAovo,4095
44
52
  radnn/system/files/imgfile.py,sha256=B752yCxnHcJDwC7qognZ6zLKnqXcEUUuMrUEglXkXT8,2484
45
- radnn/system/files/jsonfile.py,sha256=bjS1gnM1QMAP7zmCTGWq3-Z86iwdIq20mk58-guKBMQ,3533
53
+ radnn/system/files/jsonfile.py,sha256=BOyVUkpPMS23f6WamcIyEIvX9PeH0os-nydmNpC0s80,3638
46
54
  radnn/system/files/picklefile.py,sha256=n362cyoxwZtANJwuu8xHWDLttqNY4QqwDR1Jh-2VwUk,5768
47
- radnn/system/files/textfile.py,sha256=5TNIxIXjSZIv_CeBDN_PhTa3j8efozjWx2SSgsuE57o,3133
55
+ radnn/system/files/textfile.py,sha256=si8BgszEFNhW_XKgF7sS_6wgpSdHTEUvtXQgIS88a7M,3958
48
56
  radnn/system/hosts/__init__.py,sha256=k2gkMJhe96Nf-V2ex6jZqmCRX9vA_K6gFB8J8Ii9ahc,261
49
57
  radnn/system/hosts/colab_host.py,sha256=i0s43KjdJ-gjLGyQAItubz2gZvOj-DbFnH1EGYguoVk,4000
50
58
  radnn/system/hosts/linux_host.py,sha256=AuOTpQ3OB1SXvsS1F-ksLVL44HXeRz5UEM2jbQ_1nbg,1623
51
- radnn/system/hosts/windows_host.py,sha256=DFXJRjrg2ZnyaarnL8eF2K-P8S3ocNI4S2gegW16vB4,3821
52
- radnn-0.0.7.3.dist-info/LICENSE.txt,sha256=vYtt_GDvm_yW65X9YMBOOu8Vqc9SAvqH94TbfBc2ckU,1106
53
- radnn-0.0.7.3.dist-info/METADATA,sha256=F_1o-YcvLdkgDCM_2G1coqk-GnWJMWOqoeWSC9SYI80,2863
54
- radnn-0.0.7.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
55
- radnn-0.0.7.3.dist-info/top_level.txt,sha256=FKlLIm6gRAeZlRzs-HCBJAB1q9ELJ7MgaL-qqFuPo6M,6
56
- radnn-0.0.7.3.dist-info/RECORD,,
59
+ radnn/system/hosts/windows_host.py,sha256=smSnK2hNeBSLJFRw9Wh8Uni0RVVuFCxMzwFv_WzkCuY,4253
60
+ radnn/system/threads/__init__.py,sha256=PJrNngI79hne-fAhdn1mGIHNWbtuOMoHoNR4RXB5P2Y,252
61
+ radnn/system/threads/semaphore_lock.py,sha256=UGf5f2WBo6sknuhPL-1Vqsg-25HroqfKPrGsoIeNPEo,3073
62
+ radnn/system/threads/thread_context.py,sha256=wbRmeIoJSZaLH6Z_Gra-X2uqYLmMFL7ZLpHJzOzlIgE,7761
63
+ radnn/system/threads/thread_safe_queue.py,sha256=rtOoflj7lXeYAbISTU36ftYNcv0bgT8c4_Fs4qFfslU,6216
64
+ radnn/system/threads/thread_safe_string_collection.py,sha256=vdRMvwJ8CcLmsJ1uildoNjJ5OYruWyGRlCr7amtMUeU,2391
65
+ radnn/system/threads/thread_worker.py,sha256=5KANBBHwnyaMvjyelBT1eyZCzRtH7MNZiHUhN1Xl1BY,3466
66
+ radnn-0.0.9.dist-info/licenses/LICENSE.txt,sha256=vYtt_GDvm_yW65X9YMBOOu8Vqc9SAvqH94TbfBc2ckU,1106
67
+ radnn-0.0.9.dist-info/METADATA,sha256=pRzxFjDAlZv-Aseunl5zCmiSbiL48i7YGVYAAHPJ7uE,1572
68
+ radnn-0.0.9.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
69
+ radnn-0.0.9.dist-info/top_level.txt,sha256=FKlLIm6gRAeZlRzs-HCBJAB1q9ELJ7MgaL-qqFuPo6M,6
70
+ radnn-0.0.9.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5