sciveo 0.1.38__tar.gz → 0.1.39__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 (142) hide show
  1. {sciveo-0.1.38 → sciveo-0.1.39}/PKG-INFO +1 -1
  2. sciveo-0.1.39/sciveo/tools/complexity.py +75 -0
  3. sciveo-0.1.39/sciveo/version.py +2 -0
  4. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo.egg-info/PKG-INFO +1 -1
  5. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo.egg-info/SOURCES.txt +2 -0
  6. sciveo-0.1.39/test/test_complexity.py +36 -0
  7. sciveo-0.1.38/sciveo/version.py +0 -2
  8. {sciveo-0.1.38 → sciveo-0.1.39}/README.md +0 -0
  9. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/__init__.py +0 -0
  10. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/api/__init__.py +0 -0
  11. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/api/base.py +0 -0
  12. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/api/upload.py +0 -0
  13. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/cli.py +0 -0
  14. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/common/__init__.py +0 -0
  15. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/common/configuration.py +0 -0
  16. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/common/model.py +0 -0
  17. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/common/optimizers.py +0 -0
  18. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/common/sampling.py +0 -0
  19. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/content/__init__.py +0 -0
  20. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/content/dataset.py +0 -0
  21. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/content/experiment.py +0 -0
  22. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/content/project.py +0 -0
  23. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/content/runner.py +0 -0
  24. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/__init__.py +0 -0
  25. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/__init__.py +0 -0
  26. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/base.py +0 -0
  27. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/encoders/__init__.py +0 -0
  28. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/encoders/base.py +0 -0
  29. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/encoders/normalizer.py +0 -0
  30. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/nlp/__init__.py +0 -0
  31. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/nlp/search.py +0 -0
  32. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/time_series/__init__.py +0 -0
  33. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/time_series/dataset.py +0 -0
  34. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/time_series/predictor.py +0 -0
  35. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/time_series/trainer.py +0 -0
  36. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/ml/time_series/window_generator.py +0 -0
  37. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/__init__.py +0 -0
  38. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/base.py +0 -0
  39. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/job_daemon.py +0 -0
  40. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/layouts/__init__.py +0 -0
  41. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/layouts/base.py +0 -0
  42. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/pipeline.py +0 -0
  43. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
  44. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/postprocessors/base.py +0 -0
  45. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/postprocessors/default.py +0 -0
  46. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/__init__.py +0 -0
  47. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
  48. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
  49. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
  50. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/aws.py +0 -0
  51. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/base.py +0 -0
  52. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
  53. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/file/archive.py +0 -0
  54. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
  55. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/album.py +0 -0
  56. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
  57. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
  58. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
  59. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/filters.py +0 -0
  60. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/generators.py +0 -0
  61. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
  62. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/mask.py +0 -0
  63. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
  64. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/resize.py +0 -0
  65. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
  66. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
  67. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/media_info.py +0 -0
  68. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
  69. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
  70. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/qr.py +0 -0
  71. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
  72. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/sci/base.py +0 -0
  73. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
  74. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
  75. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
  76. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
  77. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
  78. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
  79. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/video/generators.py +0 -0
  80. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
  81. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/video/resize.py +0 -0
  82. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
  83. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
  84. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
  85. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/queues.py +0 -0
  86. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/server.py +0 -0
  87. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/web/__init__.py +0 -0
  88. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/media/pipelines/web/server.py +0 -0
  89. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/__init__.py +0 -0
  90. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/base.py +0 -0
  91. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/evaluation/__init__.py +0 -0
  92. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/evaluation/object_detection.py +0 -0
  93. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/images/__init__.py +0 -0
  94. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/images/base.py +0 -0
  95. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/images/description.py +0 -0
  96. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/images/embeddings.py +0 -0
  97. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/images/object_detection.py +0 -0
  98. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/images/tools.py +0 -0
  99. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/images/transformers.py +0 -0
  100. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/nlp/__init__.py +0 -0
  101. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/nlp/embeddings.py +0 -0
  102. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/video/__init__.py +0 -0
  103. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/ml/video/description.py +0 -0
  104. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/monitoring/__init__.py +0 -0
  105. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/monitoring/monitor.py +0 -0
  106. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/monitoring/start.py +0 -0
  107. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/network/__init__.py +0 -0
  108. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/network/camera.py +0 -0
  109. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/network/sniffer.py +0 -0
  110. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/network/tools.py +0 -0
  111. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/__init__.py +0 -0
  112. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/array.py +0 -0
  113. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/aws/__init__.py +0 -0
  114. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/aws/priority_queue.py +0 -0
  115. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/aws/s3.py +0 -0
  116. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/common.py +0 -0
  117. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/compress.py +0 -0
  118. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/configuration.py +0 -0
  119. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/crypto.py +0 -0
  120. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/daemon.py +0 -0
  121. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/formating.py +0 -0
  122. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/hardware.py +0 -0
  123. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/http.py +0 -0
  124. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/logger.py +0 -0
  125. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/os.py +0 -0
  126. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/random.py +0 -0
  127. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/remote.py +0 -0
  128. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/simple_counter.py +0 -0
  129. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/synchronized.py +0 -0
  130. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo/tools/timers.py +0 -0
  131. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo.egg-info/dependency_links.txt +0 -0
  132. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo.egg-info/entry_points.txt +0 -0
  133. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo.egg-info/requires.txt +0 -0
  134. {sciveo-0.1.38 → sciveo-0.1.39}/sciveo.egg-info/top_level.txt +0 -0
  135. {sciveo-0.1.38 → sciveo-0.1.39}/setup.cfg +0 -0
  136. {sciveo-0.1.38 → sciveo-0.1.39}/setup.py +0 -0
  137. {sciveo-0.1.38 → sciveo-0.1.39}/test/test_compress.py +0 -0
  138. {sciveo-0.1.38 → sciveo-0.1.39}/test/test_configuration.py +0 -0
  139. {sciveo-0.1.38 → sciveo-0.1.39}/test/test_crypto.py +0 -0
  140. {sciveo-0.1.38 → sciveo-0.1.39}/test/test_monitoring.py +0 -0
  141. {sciveo-0.1.38 → sciveo-0.1.39}/test/test_runner.py +0 -0
  142. {sciveo-0.1.38 → sciveo-0.1.39}/test/test_sampling.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.38
3
+ Version: 0.1.39
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -0,0 +1,75 @@
1
+ #
2
+ # Pavlin Georgiev, Softel Labs
3
+ #
4
+ # This is a proprietary file and may not be copied,
5
+ # distributed, or modified without express permission
6
+ # from the owner. For licensing inquiries, please
7
+ # contact pavlin@softel.bg.
8
+ #
9
+ # 2024
10
+ #
11
+
12
+ import math
13
+
14
+ from sciveo.tools.logger import *
15
+
16
+
17
+ """
18
+ Simple complexity evaluation
19
+ Evaluate against few well known complexities, could add more in self.list_complexity
20
+ """
21
+ class ComplexityEval:
22
+ def __init__(self, samples, printer=print):
23
+ if isinstance(samples, int):
24
+ self.size = samples
25
+ elif isinstance(samples, list) or isinstance(samples, dict):
26
+ self.size = len(samples)
27
+ else:
28
+ self.size = int(samples)
29
+
30
+ self.printer = printer
31
+
32
+ self.list_complexity = [
33
+ ("logN", round(math.log2(self.size), 2)),
34
+ ("N", self.size),
35
+ ("NlogN", round(self.size * math.log2(self.size))),
36
+ ("N^2", self.size ** 2),
37
+ ("N^3", self.size ** 3),
38
+ ]
39
+
40
+ self.complexity_str = ""
41
+ for c in self.list_complexity:
42
+ self.complexity_str += f"{c[0]}={c[1]} "
43
+ self.complexity_str = self.complexity_str.strip()
44
+
45
+ def calc_power(self, iterations):
46
+ return math.log(iterations) / math.log(self.size)
47
+
48
+ def evaluate(self, iterations):
49
+ this_power = self.calc_power(iterations)
50
+ this_complexity = None
51
+
52
+ for i in range(0, len(self.list_complexity)):
53
+ if iterations <= self.list_complexity[i][1]:
54
+ if i == 0:
55
+ this_complexity = self.list_complexity[i]
56
+ break
57
+ else:
58
+ if this_power <= (self.calc_power(self.list_complexity[i][1]) + self.calc_power(self.list_complexity[i - 1][1])) / 2:
59
+ this_complexity = self.list_complexity[i - 1]
60
+ else:
61
+ this_complexity = self.list_complexity[i]
62
+ break
63
+ if this_complexity is None:
64
+ this_complexity = self.list_complexity[-1]
65
+
66
+ return this_complexity
67
+
68
+ def __call__(self, iterations):
69
+ return self.evaluate(iterations)
70
+
71
+ def print(self, iterations):
72
+ this_complexity = self.evaluate(iterations)
73
+ this_power = self.calc_power(iterations)
74
+ self.printer("size", self.size, "iterations", iterations, f"(N^{this_power:.2f})({this_complexity[1]})", f"[{self.complexity_str}]")
75
+ self.printer(f"O(N) = {this_complexity[0]}")
@@ -0,0 +1,2 @@
1
+
2
+ __version__ = '0.1.39'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.38
3
+ Version: 0.1.39
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -112,6 +112,7 @@ sciveo/network/tools.py
112
112
  sciveo/tools/__init__.py
113
113
  sciveo/tools/array.py
114
114
  sciveo/tools/common.py
115
+ sciveo/tools/complexity.py
115
116
  sciveo/tools/compress.py
116
117
  sciveo/tools/configuration.py
117
118
  sciveo/tools/crypto.py
@@ -129,6 +130,7 @@ sciveo/tools/timers.py
129
130
  sciveo/tools/aws/__init__.py
130
131
  sciveo/tools/aws/priority_queue.py
131
132
  sciveo/tools/aws/s3.py
133
+ test/test_complexity.py
132
134
  test/test_compress.py
133
135
  test/test_configuration.py
134
136
  test/test_crypto.py
@@ -0,0 +1,36 @@
1
+ #
2
+ # Pavlin Georgiev, Softel Labs
3
+ #
4
+ # This is a proprietary file and may not be copied,
5
+ # distributed, or modified without express permission
6
+ # from the owner. For licensing inquiries, please
7
+ # contact pavlin@softel.bg.
8
+ #
9
+ # 2024
10
+ #
11
+
12
+ import math
13
+ import unittest
14
+
15
+ from sciveo.tools.complexity import *
16
+
17
+
18
+ class TestComplexity(unittest.TestCase):
19
+ def _do_test(self, ce):
20
+ self.assertTrue(ce(2e3)[0] == "N")
21
+ self.assertTrue(ce(1e7)[0] == "N^2")
22
+ self.assertTrue(ce(2e4)[0] == "NlogN")
23
+
24
+ def test_1(self):
25
+ ce = ComplexityEval(1024)
26
+ self._do_test(ce)
27
+
28
+ def test_input(self):
29
+ ce = ComplexityEval(1024)
30
+ self._do_test(ce)
31
+ ce = ComplexityEval([1]*1024)
32
+ self._do_test(ce)
33
+
34
+
35
+ if __name__ == '__main__':
36
+ unittest.main()
@@ -1,2 +0,0 @@
1
-
2
- __version__ = '0.1.38'
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