sciveo 0.1.70__tar.gz → 0.1.72__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 (169) hide show
  1. {sciveo-0.1.70 → sciveo-0.1.72}/PKG-INFO +1 -1
  2. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/capture/motion_detection.py +23 -15
  3. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/capture/nvr.py +1 -1
  4. sciveo-0.1.72/sciveo/version.py +2 -0
  5. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo.egg-info/PKG-INFO +1 -1
  6. sciveo-0.1.70/sciveo/version.py +0 -2
  7. {sciveo-0.1.70 → sciveo-0.1.72}/README.md +0 -0
  8. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/__init__.py +0 -0
  9. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/api/__init__.py +0 -0
  10. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/api/base.py +0 -0
  11. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/api/predictors.py +0 -0
  12. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/api/server.py +0 -0
  13. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/api/upload.py +0 -0
  14. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/cli.py +0 -0
  15. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/common/__init__.py +0 -0
  16. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/common/configuration.py +0 -0
  17. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/common/model.py +0 -0
  18. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/common/optimizers.py +0 -0
  19. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/common/sampling.py +0 -0
  20. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/content/__init__.py +0 -0
  21. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/content/dataset.py +0 -0
  22. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/content/experiment.py +0 -0
  23. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/content/project.py +0 -0
  24. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/content/runner.py +0 -0
  25. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/__init__.py +0 -0
  26. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/capture/__init__.py +0 -0
  27. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/capture/cam.py +0 -0
  28. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/capture/readers.py +0 -0
  29. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/__init__.py +0 -0
  30. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/base.py +0 -0
  31. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/encoders/__init__.py +0 -0
  32. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/encoders/base.py +0 -0
  33. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/encoders/normalizer.py +0 -0
  34. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/nlp/__init__.py +0 -0
  35. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/nlp/search.py +0 -0
  36. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/time_series/__init__.py +0 -0
  37. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/time_series/dataset.py +0 -0
  38. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/time_series/predictor.py +0 -0
  39. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/time_series/trainer.py +0 -0
  40. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/ml/time_series/window_generator.py +0 -0
  41. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/__init__.py +0 -0
  42. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/base.py +0 -0
  43. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/job_daemon.py +0 -0
  44. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/layouts/__init__.py +0 -0
  45. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/layouts/base.py +0 -0
  46. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/pipeline.py +0 -0
  47. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
  48. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/postprocessors/base.py +0 -0
  49. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/postprocessors/default.py +0 -0
  50. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/__init__.py +0 -0
  51. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
  52. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
  53. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
  54. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/aws.py +0 -0
  55. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/base.py +0 -0
  56. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
  57. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/file/archive.py +0 -0
  58. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
  59. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/album.py +0 -0
  60. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
  61. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
  62. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
  63. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/filters.py +0 -0
  64. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/generators.py +0 -0
  65. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
  66. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/mask.py +0 -0
  67. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
  68. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/resize.py +0 -0
  69. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
  70. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
  71. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/media_info.py +0 -0
  72. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
  73. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
  74. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/qr.py +0 -0
  75. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
  76. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/sci/base.py +0 -0
  77. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
  78. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
  79. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
  80. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
  81. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
  82. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
  83. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/video/generators.py +0 -0
  84. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
  85. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/video/resize.py +0 -0
  86. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
  87. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
  88. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
  89. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/queues.py +0 -0
  90. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/server.py +0 -0
  91. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/web/__init__.py +0 -0
  92. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/pipelines/web/server.py +0 -0
  93. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/tools/__init__.py +0 -0
  94. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/media/tools/video_interactive.py +0 -0
  95. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/__init__.py +0 -0
  96. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/base.py +0 -0
  97. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/dataset/__init__.py +0 -0
  98. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/dataset/object_detection.py +0 -0
  99. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/evaluation/__init__.py +0 -0
  100. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/evaluation/markdown.py +0 -0
  101. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/evaluation/object_detection.py +0 -0
  102. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/images/__init__.py +0 -0
  103. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/images/base.py +0 -0
  104. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/images/description.py +0 -0
  105. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/images/embeddings.py +0 -0
  106. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/images/object_detection.py +0 -0
  107. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/images/tools.py +0 -0
  108. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/images/transformers.py +0 -0
  109. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/nlp/__init__.py +0 -0
  110. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/nlp/embeddings.py +0 -0
  111. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/nlp/tokenizers/__init__.py +0 -0
  112. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/nlp/tokenizers/bpe.py +0 -0
  113. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/video/__init__.py +0 -0
  114. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/ml/video/description.py +0 -0
  115. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/monitoring/__init__.py +0 -0
  116. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/monitoring/monitor.py +0 -0
  117. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/monitoring/start.py +0 -0
  118. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/monitoring/watchdog/__init__.py +0 -0
  119. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/monitoring/watchdog/base.py +0 -0
  120. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/monitoring/watchdog/process.py +0 -0
  121. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/network/__init__.py +0 -0
  122. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/network/camera.py +0 -0
  123. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/network/sniffer.py +0 -0
  124. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/network/tools.py +0 -0
  125. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/__init__.py +0 -0
  126. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/array.py +0 -0
  127. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/aws/__init__.py +0 -0
  128. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/aws/priority_queue.py +0 -0
  129. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/aws/s3.py +0 -0
  130. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/common.py +0 -0
  131. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/complexity.py +0 -0
  132. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/compress.py +0 -0
  133. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/configuration.py +0 -0
  134. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/crypto.py +0 -0
  135. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/daemon.py +0 -0
  136. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/draw/__init__.py +0 -0
  137. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/draw/contours.py +0 -0
  138. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/formating.py +0 -0
  139. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/hardware.py +0 -0
  140. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/http.py +0 -0
  141. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/logger.py +0 -0
  142. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/os.py +0 -0
  143. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/queue.py +0 -0
  144. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/random.py +0 -0
  145. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/remote.py +0 -0
  146. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/simple_counter.py +0 -0
  147. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/synchronized.py +0 -0
  148. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/timers.py +0 -0
  149. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/tools/totp.py +0 -0
  150. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/web/__init__.py +0 -0
  151. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo/web/common.py +0 -0
  152. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo.egg-info/SOURCES.txt +0 -0
  153. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo.egg-info/dependency_links.txt +0 -0
  154. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo.egg-info/entry_points.txt +0 -0
  155. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo.egg-info/requires.txt +0 -0
  156. {sciveo-0.1.70 → sciveo-0.1.72}/sciveo.egg-info/top_level.txt +0 -0
  157. {sciveo-0.1.70 → sciveo-0.1.72}/setup.cfg +0 -0
  158. {sciveo-0.1.70 → sciveo-0.1.72}/setup.py +0 -0
  159. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_complexity.py +0 -0
  160. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_compress.py +0 -0
  161. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_configuration.py +0 -0
  162. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_crypto.py +0 -0
  163. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_eval_markdown.py +0 -0
  164. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_ml_datasets.py +0 -0
  165. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_monitoring.py +0 -0
  166. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_runner.py +0 -0
  167. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_sampling.py +0 -0
  168. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_tokenizers.py +0 -0
  169. {sciveo-0.1.70 → sciveo-0.1.72}/test/test_totp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.70
3
+ Version: 0.1.72
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -19,6 +19,7 @@ from sciveo.tools.logger import *
19
19
  from sciveo.tools.daemon import DaemonBase
20
20
  from sciveo.media.capture.readers import VideoReaderFFMPEG
21
21
  from sciveo.tools.queue import TouchedFilePathQueue
22
+ from sciveo.tools.simple_counter import SimpleStat
22
23
 
23
24
 
24
25
  class MotionDetectorGrid:
@@ -71,6 +72,8 @@ class VideoMotionDetector:
71
72
  current_threshold = self.configuration["threshold_motion"] * k_motion_level
72
73
  motion_level = np.mean(fgmask)
73
74
 
75
+ self.stat.set(motion_level)
76
+
74
77
  if motion_level > current_threshold:
75
78
  self.count_motion_hold += 1
76
79
  if self.count_motion_hold >= self.configuration["threshold_motion_hold"]:
@@ -82,6 +85,11 @@ class VideoMotionDetector:
82
85
 
83
86
  def __call__(self, list_frames):
84
87
  self.count_motion_hold = 0
88
+ self.stat = SimpleStat()
89
+
90
+ if len(list_frames) > 0:
91
+ for i in range(10):
92
+ fgmask = self.apply(list_frames[0])
85
93
 
86
94
  for frame in list_frames:
87
95
  try:
@@ -126,21 +134,21 @@ class MotionDetectorDaemon(DaemonBase):
126
134
  file_name, file_path = self.queue.pop()
127
135
  debug("pop", file_name, file_path)
128
136
 
129
- file_name_split = file_name.split("___")
130
- if len(file_name_split) >= 3:
131
- source_id = file_name_split[0]
132
-
133
- if source_id in self.configuration:
134
- configuration = self.configuration.get(source_id, { "threshold_motion": 5, "threshold_motion_hold": 5, "grid": [[0.0]] })
135
- md = self.motion_detectors.get(source_id, VideoMotionDetector(source_id, configuration))
136
- motion = md(VideoReaderFFMPEG.read(file_path, resolution=360, RGB=False, gpu_id=-1, framestep=5))
137
-
138
- if motion:
139
- self.on_motion(source_id, file_name, file_path, configuration)
140
-
141
- os.remove(file_path)
142
- debug("RM", file_path)
143
-
137
+ try:
138
+ file_name_split = file_name.split("___")
139
+ if len(file_name_split) >= 3:
140
+ source_id = file_name_split[0]
141
+ if source_id in self.configuration:
142
+ configuration = self.configuration.get(source_id, { "threshold_motion": 5, "threshold_motion_hold": 5, "grid": [[0.0]] })
143
+ md = self.motion_detectors.get(source_id, VideoMotionDetector(source_id, configuration))
144
+ motion = md(VideoReaderFFMPEG.read(file_path, resolution=360, RGB=False, gpu_id=-1, framestep=5))
145
+ debug("STAT", source_id, md.stat)
146
+ if motion:
147
+ self.on_motion(source_id, file_name, file_path, configuration)
148
+ except Exception as e:
149
+ exception(e)
150
+ os.remove(file_path)
151
+ debug("RM", file_path)
144
152
  except Exception as e:
145
153
  exception(e)
146
154
  time.sleep(5)
@@ -179,7 +179,7 @@ class VideoRecorder:
179
179
  shutil.copy(file_path, video_file_path)
180
180
  debug("CP", file_path, "=>", video_file_path)
181
181
 
182
- if "motion" in self.configuration:
182
+ if "motion" in self.configuration and cam_id in self.configuration["motion"]:
183
183
  motion_file_path = os.path.join(self.configuration["motion"]["src"], f"{cam_id}___{video_date}___{video_file_name}")
184
184
  shutil.move(file_path, motion_file_path)
185
185
  debug("MV", file_path, "=>", motion_file_path)
@@ -0,0 +1,2 @@
1
+
2
+ __version__ = '0.1.72'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.70
3
+ Version: 0.1.72
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -1,2 +0,0 @@
1
-
2
- __version__ = '0.1.70'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes