nedo-vision-worker 1.1.2__py3-none-any.whl → 1.2.0__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 (43) hide show
  1. nedo_vision_worker/__init__.py +1 -1
  2. nedo_vision_worker/cli.py +197 -168
  3. nedo_vision_worker/database/DatabaseManager.py +3 -3
  4. nedo_vision_worker/doctor.py +1066 -386
  5. nedo_vision_worker/models/ai_model.py +35 -2
  6. nedo_vision_worker/protos/AIModelService_pb2.py +12 -10
  7. nedo_vision_worker/protos/AIModelService_pb2_grpc.py +1 -1
  8. nedo_vision_worker/protos/DatasetSourceService_pb2.py +2 -2
  9. nedo_vision_worker/protos/DatasetSourceService_pb2_grpc.py +1 -1
  10. nedo_vision_worker/protos/HumanDetectionService_pb2.py +2 -2
  11. nedo_vision_worker/protos/HumanDetectionService_pb2_grpc.py +1 -1
  12. nedo_vision_worker/protos/PPEDetectionService_pb2.py +2 -2
  13. nedo_vision_worker/protos/PPEDetectionService_pb2_grpc.py +1 -1
  14. nedo_vision_worker/protos/VisionWorkerService_pb2.py +2 -2
  15. nedo_vision_worker/protos/VisionWorkerService_pb2_grpc.py +1 -1
  16. nedo_vision_worker/protos/WorkerSourcePipelineService_pb2.py +2 -2
  17. nedo_vision_worker/protos/WorkerSourcePipelineService_pb2_grpc.py +1 -1
  18. nedo_vision_worker/protos/WorkerSourceService_pb2.py +2 -2
  19. nedo_vision_worker/protos/WorkerSourceService_pb2_grpc.py +1 -1
  20. nedo_vision_worker/services/AIModelClient.py +184 -160
  21. nedo_vision_worker/services/DirectDeviceToRTMPStreamer.py +534 -0
  22. nedo_vision_worker/services/GrpcClientBase.py +142 -108
  23. nedo_vision_worker/services/PPEDetectionClient.py +0 -7
  24. nedo_vision_worker/services/RestrictedAreaClient.py +0 -5
  25. nedo_vision_worker/services/SharedDirectDeviceClient.py +278 -0
  26. nedo_vision_worker/services/SharedVideoStreamServer.py +315 -0
  27. nedo_vision_worker/services/SystemWideDeviceCoordinator.py +236 -0
  28. nedo_vision_worker/services/VideoSharingDaemon.py +832 -0
  29. nedo_vision_worker/services/VideoStreamClient.py +30 -13
  30. nedo_vision_worker/services/WorkerSourceClient.py +1 -1
  31. nedo_vision_worker/services/WorkerSourcePipelineClient.py +28 -6
  32. nedo_vision_worker/services/WorkerSourceUpdater.py +30 -3
  33. nedo_vision_worker/util/VideoProbeUtil.py +222 -15
  34. nedo_vision_worker/worker/DataSyncWorker.py +1 -0
  35. nedo_vision_worker/worker/PipelineImageWorker.py +1 -1
  36. nedo_vision_worker/worker/VideoStreamWorker.py +27 -3
  37. nedo_vision_worker/worker/WorkerManager.py +2 -29
  38. nedo_vision_worker/worker_service.py +24 -11
  39. {nedo_vision_worker-1.1.2.dist-info → nedo_vision_worker-1.2.0.dist-info}/METADATA +1 -3
  40. {nedo_vision_worker-1.1.2.dist-info → nedo_vision_worker-1.2.0.dist-info}/RECORD +43 -38
  41. {nedo_vision_worker-1.1.2.dist-info → nedo_vision_worker-1.2.0.dist-info}/WHEEL +0 -0
  42. {nedo_vision_worker-1.1.2.dist-info → nedo_vision_worker-1.2.0.dist-info}/entry_points.txt +0 -0
  43. {nedo_vision_worker-1.1.2.dist-info → nedo_vision_worker-1.2.0.dist-info}/top_level.txt +0 -0
@@ -18,6 +18,7 @@ class WorkerManager:
18
18
  self.config = config
19
19
  self.worker_id = self.config.get("worker_id")
20
20
  self.server_host = self.config.get("server_host")
21
+ self.server_port = self.config.get("server_port", 50051)
21
22
  self.token = self.config.get("token")
22
23
 
23
24
  if not self.worker_id:
@@ -29,7 +30,7 @@ class WorkerManager:
29
30
 
30
31
  # Configure the centralized gRPC client manager
31
32
  self.client_manager = GrpcClientManager.get_instance()
32
- self.client_manager.configure(self.server_host)
33
+ self.client_manager.configure(self.server_host, self.server_port)
33
34
 
34
35
  # Get shared client instance
35
36
  self.status_client = self.client_manager.get_client(WorkerStatusClient)
@@ -46,16 +47,9 @@ class WorkerManager:
46
47
  """Start processing workers while keeping monitoring workers running."""
47
48
  try:
48
49
  self.video_stream_worker.start()
49
- logger.info("🚀 [APP] Video Stream Worker started.")
50
-
51
50
  self.pipeline_image_worker.start()
52
- logger.info("🚀 [APP] Pipeline Image Worker started.")
53
-
54
51
  self.data_sender_worker.start_updating()
55
- logger.info("🚀 [APP] Data Sender Worker started updating.")
56
-
57
52
  self.dataset_frame_worker.start()
58
- logger.info("🚀 [APP] Dataset Frame Worker started.")
59
53
 
60
54
  self._update_status("run")
61
55
 
@@ -66,16 +60,9 @@ class WorkerManager:
66
60
  """Stop processing workers while keeping monitoring workers running."""
67
61
  try:
68
62
  self.video_stream_worker.stop()
69
- logger.info("🛑 [APP] Video Stream Worker stopped.")
70
-
71
63
  self.pipeline_image_worker.stop()
72
- logger.info("🛑 [APP] Pipeline Image Worker stopped.")
73
-
74
64
  self.data_sender_worker.stop_updating()
75
- logger.info("🛑 [APP] Data Sender Worker stopped updating.")
76
-
77
65
  self.dataset_frame_worker.stop()
78
- logger.info("🛑 [APP] Dataset Frame Worker stopped.")
79
66
 
80
67
  self._update_status("stop")
81
68
 
@@ -87,16 +74,9 @@ class WorkerManager:
87
74
  try:
88
75
  # Start monitoring workers first
89
76
  self.core_action_worker.start()
90
- logging.info("🚀 [APP] Core Action Worker started and listening for commands.")
91
-
92
77
  self.data_sync_worker.start()
93
- logger.info("🚀 [APP] Data Sync Worker started.")
94
-
95
78
  self.data_sender_worker.start()
96
- logger.info("🚀 [APP] Data Sender Worker started.")
97
-
98
79
  self.pipeline_action_worker.start()
99
- logger.info("🚀 [APP] Pipeline Action Worker started.")
100
80
 
101
81
  self._start_workers()
102
82
 
@@ -109,16 +89,9 @@ class WorkerManager:
109
89
  """Stop all workers including monitoring workers."""
110
90
  try:
111
91
  self.core_action_worker.stop()
112
- logger.info("🛑 [APP] Core Action Worker stopped.")
113
-
114
92
  self.data_sync_worker.stop()
115
- logger.info("🛑 [APP] Data Sync Worker stopped.")
116
-
117
93
  self.data_sender_worker.stop()
118
- logger.info("🛑 [APP] Data Sender Worker stopped.")
119
-
120
94
  self.pipeline_action_worker.stop()
121
- logger.info("🛑 [APP] Pipeline Action Worker stopped.")
122
95
 
123
96
  self._stop_workers()
124
97
 
@@ -4,11 +4,9 @@ import signal
4
4
  import sys
5
5
  import logging
6
6
 
7
- # Set multiprocessing start method to 'spawn' for CUDA compatibility
8
7
  try:
9
8
  multiprocessing.set_start_method('spawn', force=True)
10
9
  except RuntimeError:
11
- # Method already set, ignore
12
10
  pass
13
11
 
14
12
  from .initializer.AppInitializer import AppInitializer
@@ -17,7 +15,7 @@ from .config.ConfigurationManager import ConfigurationManager
17
15
  from .util.HardwareID import HardwareID
18
16
  from .services.GrpcClientBase import set_auth_failure_callback
19
17
  from .database.DatabaseManager import set_storage_path
20
- from . import models # Ensure all models are registered before DB init
18
+ from . import models
21
19
 
22
20
 
23
21
  class WorkerService:
@@ -31,8 +29,9 @@ class WorkerService:
31
29
  server_host: str = "be.vision.sindika.co.id",
32
30
  token: str = None,
33
31
  system_usage_interval: int = 30,
34
- rtmp_server: str = None,
32
+ rtmp_server: str = "rtmp://live.vision.sindika.co.id:1935/live",
35
33
  storage_path: str = "data",
34
+ server_port: int = 50051,
36
35
  ):
37
36
  """
38
37
  Initialize the worker service.
@@ -41,8 +40,9 @@ class WorkerService:
41
40
  server_host: Manager server host (default: 'be.vision.sindika.co.id')
42
41
  token: Authentication token for the worker (obtained from frontend)
43
42
  system_usage_interval: Interval for system usage reporting (default: 30)
44
- rtmp_server: RTMP server URL for video streaming (required)
43
+ rtmp_server: RTMP server URL for video streaming
45
44
  storage_path: Storage path for databases and files (default: 'data')
45
+ server_port: gRPC server port (default: 50051)
46
46
  """
47
47
  # Set the global storage path before any database operations
48
48
  set_storage_path(storage_path)
@@ -55,13 +55,10 @@ class WorkerService:
55
55
  self.system_usage_interval = system_usage_interval
56
56
  self.rtmp_server = rtmp_server
57
57
  self.storage_path = storage_path
58
+ self.server_port = server_port
58
59
  self.config = None
59
60
  self.auth_failure_detected = False
60
61
 
61
- # Validate required parameters
62
- if not rtmp_server:
63
- raise ValueError("RTMP server URL is required. Please provide --rtmp-server parameter.")
64
-
65
62
  # Register authentication failure callback
66
63
  set_auth_failure_callback(self._on_authentication_failure)
67
64
 
@@ -123,10 +120,13 @@ class WorkerService:
123
120
  # Initialize with token
124
121
  AppInitializer.initialize_configuration(hardware_id, server_host, self.token)
125
122
 
123
+ # Set server_port in config for first-time setup
124
+ ConfigurationManager.set_config("server_port", str(self.server_port))
125
+
126
126
  # Get configuration
127
127
  config = ConfigurationManager.get_all_configs()
128
128
  else:
129
- # Check if server_host or token has changed and update if needed
129
+ # Check if server_host, server_port, or token has changed and update if needed
130
130
  config_updated = False
131
131
 
132
132
  if config['server_host'] != server_host:
@@ -134,6 +134,12 @@ class WorkerService:
134
134
  config_updated = True
135
135
  self.logger.info(f"✅ [APP] Updated server host to: {server_host}")
136
136
 
137
+ # Check if server_port has changed and update if needed
138
+ if str(config.get('server_port')) != str(self.server_port):
139
+ ConfigurationManager.set_config("server_port", str(self.server_port))
140
+ config_updated = True
141
+ self.logger.info(f"✅ [APP] Updated server port to: {self.server_port}")
142
+
137
143
  # Check if token has changed and update if needed
138
144
  if self.token and config.get('token') != self.token:
139
145
  ConfigurationManager.set_config("token", self.token)
@@ -244,6 +250,12 @@ def main():
244
250
  default="be.vision.sindika.co.id",
245
251
  help="Manager server host (default: be.vision.sindika.co.id)"
246
252
  )
253
+ parser.add_argument(
254
+ "--server-port",
255
+ type=int,
256
+ default=50051,
257
+ help="gRPC server port (default: 50051)"
258
+ )
247
259
  parser.add_argument(
248
260
  "--system-usage-interval",
249
261
  type=int,
@@ -255,10 +267,11 @@ def main():
255
267
  # Create and run worker service
256
268
  service = WorkerService(
257
269
  server_host=args.server_host,
270
+ server_port=args.server_port,
258
271
  system_usage_interval=args.system_usage_interval
259
272
  )
260
273
  service.run()
261
274
 
262
275
 
263
276
  if __name__ == "__main__":
264
- main()
277
+ main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nedo-vision-worker
3
- Version: 1.1.2
3
+ Version: 1.2.0
4
4
  Summary: Nedo Vision Worker Service Library for AI Vision Processing
5
5
  Author-email: Willy Achmat Fauzi <willy.achmat@gmail.com>
6
6
  Maintainer-email: Willy Achmat Fauzi <willy.achmat@gmail.com>
@@ -179,10 +179,8 @@ This will check:
179
179
  - ✅ Python version and dependencies
180
180
  - ✅ FFmpeg installation and functionality
181
181
  - ✅ OpenCV installation and optimizations
182
- - ✅ gRPC connectivity
183
182
  - ✅ NVIDIA GPU support and capabilities
184
183
  - ✅ Storage permissions
185
- - ✅ Network connectivity
186
184
 
187
185
  ## 📖 Quick Start
188
186
 
@@ -1,15 +1,15 @@
1
- nedo_vision_worker/__init__.py,sha256=7d3_d7ZEPuZ0WRVyXVh1I_ozr_M83YKYsPo5m59ZIAo,203
2
- nedo_vision_worker/cli.py,sha256=PmT5bSyWdJBCVqB4AkSKIUYnnBt2ceS4FphMMoX-QGY,6227
3
- nedo_vision_worker/doctor.py,sha256=dO3eOOauAFrCwj1UX1A-1jj_zsE2Y0UycGqPXaEOKjg,16152
4
- nedo_vision_worker/worker_service.py,sha256=XLzaN-n8f4ysPcOmJpO51I9_MWuVTnFMJF08sVHT7IA,9882
1
+ nedo_vision_worker/__init__.py,sha256=8AbQ3PK5CGdbnFRLBVzw8dcVQNHlNS_bBiqyygqIJ-Q,203
2
+ nedo_vision_worker/cli.py,sha256=d7oDe3wJMfXd-ddStnyFASkLU0F3VemFsD9i0K7CYqU,7457
3
+ nedo_vision_worker/doctor.py,sha256=uZ-NM_PfaTG5CG5OWFnl7cEsOTBWMGXNuKWuTV07deg,47228
4
+ nedo_vision_worker/worker_service.py,sha256=rXUVmyxcJPGhQEZ4UQvjQS5UqlnLBYudHQZCj0dQDxo,10421
5
5
  nedo_vision_worker/config/ConfigurationManager.py,sha256=QrQaQ9Cdjpkcr2JE_miyrWJIZmMgZwJYBz-wE45Zzes,8011
6
6
  nedo_vision_worker/config/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
7
- nedo_vision_worker/database/DatabaseManager.py,sha256=0Wj9sYVBbzcU0Cl7OrP7EU0su_ELUf4TsbwPLNdSwgQ,8413
7
+ nedo_vision_worker/database/DatabaseManager.py,sha256=BZAK3VzbAo_xWUNCni4O8rCLzCjY7mE02PI2HlEpqg4,8505
8
8
  nedo_vision_worker/database/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
9
9
  nedo_vision_worker/initializer/AppInitializer.py,sha256=iGw8-7Eg2aNT-nFaxiRIhWHU8iwecLuwuvjWlt1-V0Y,3163
10
10
  nedo_vision_worker/initializer/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
11
11
  nedo_vision_worker/models/__init__.py,sha256=6ZH2W1Jcy4o6xBPqFPcyxRU2UJ5Zvw_kfO38yLLGtHA,796
12
- nedo_vision_worker/models/ai_model.py,sha256=1D6qa8Nt8CnuctgvGMj0OYtZk1R-WvR9JYpAVkNbZ_k,1107
12
+ nedo_vision_worker/models/ai_model.py,sha256=9muyZL9AxtX417-tYUiw8bgvFPtqdXgEAq-hm_mLxGY,2277
13
13
  nedo_vision_worker/models/auth.py,sha256=hBMchk6ATy8Wc3fUWLpYRbeNiteb43t2hIub0cCFap8,456
14
14
  nedo_vision_worker/models/config.py,sha256=xrEYCqtchKD3x2XMwtkDXlKdqml3GgSbjoG00lJJtfc,260
15
15
  nedo_vision_worker/models/dataset_source.py,sha256=kNp47WZKEVP4mFNQmKhaHSuuDkWCpLAFcSgrU0iTNok,1333
@@ -23,20 +23,20 @@ nedo_vision_worker/models/worker_source_pipeline.py,sha256=xCD4i9pHr8Qy5B_h1dH0Q
23
23
  nedo_vision_worker/models/worker_source_pipeline_config.py,sha256=dGYTpcTFFu6pmGBufuWBHjv3Xs4RGAQwZn6jp6Ondvs,876
24
24
  nedo_vision_worker/models/worker_source_pipeline_debug.py,sha256=6S7TkN37FrAT4VwsEB38DWSad7QfvNhsOGtSEK8D1Qs,594
25
25
  nedo_vision_worker/models/worker_source_pipeline_detection.py,sha256=p6CJsiVCKprTYrNxJsiTB8njXdHkjZKVEyBceRVE6fY,560
26
- nedo_vision_worker/protos/AIModelService_pb2.py,sha256=OxL4xyp30R00G2IEw1KYLH8RIN12LYkbP9CJmQETbiA,3110
27
- nedo_vision_worker/protos/AIModelService_pb2_grpc.py,sha256=XNe5flHqZRd2Gj-KxHs1utN9KhyX0J3iO_JunxUWVR4,6076
28
- nedo_vision_worker/protos/DatasetSourceService_pb2.py,sha256=qO-QU0SV2Rpulorf79QzU4vUyBEKFBCp3tkKBp-kiiI,3362
29
- nedo_vision_worker/protos/DatasetSourceService_pb2_grpc.py,sha256=6jTHBVowteNFZ_Q93-V-2GcPw0lgyTIZHCijWyTjr_c,6265
30
- nedo_vision_worker/protos/HumanDetectionService_pb2.py,sha256=lx80RIAqqrITuyVp5hk5mBfEo_5rx21lsCKKOFcuq0I,3277
31
- nedo_vision_worker/protos/HumanDetectionService_pb2_grpc.py,sha256=iHoLKTOphKrAMKyetFNNpwnKYJtESYFeW9P8AYmVtP8,6260
32
- nedo_vision_worker/protos/PPEDetectionService_pb2.py,sha256=DehTaRFtHrOAyZzjVMcs_g5_1-Uum1VrPBz7iGkIcdU,3582
33
- nedo_vision_worker/protos/PPEDetectionService_pb2_grpc.py,sha256=-854NI_zhkpR5M37EJBaCc319mBqlqouEhEikbfBTV4,6186
34
- nedo_vision_worker/protos/VisionWorkerService_pb2.py,sha256=MpROLCobi0z-FgqpMFdJar0lpQnCyoF_k2T6Oj51mEE,7146
35
- nedo_vision_worker/protos/VisionWorkerService_pb2_grpc.py,sha256=kAexQ3QJTxi7q_fMO7Ib8srcb4KnJkWd-pea_vkT2Hc,18937
36
- nedo_vision_worker/protos/WorkerSourcePipelineService_pb2.py,sha256=CJgan9RbE-rS-IW3mzZcu2wi4wWA_5oK0omOKYDVK-c,7058
37
- nedo_vision_worker/protos/WorkerSourcePipelineService_pb2_grpc.py,sha256=nnoIqwHsNvE7tOcyu92oSAOVQ7rFIbiAwey-w_6HvO4,15384
38
- nedo_vision_worker/protos/WorkerSourceService_pb2.py,sha256=5lCsoV_r_IW2CU09imSRWCTj_Lks2V2_Y69wV_BxypI,3926
39
- nedo_vision_worker/protos/WorkerSourceService_pb2_grpc.py,sha256=fTxFjgr9gZjx2rI7rkd0hzj86hOXOQH473IVyf-XBc4,8314
26
+ nedo_vision_worker/protos/AIModelService_pb2.py,sha256=0S0fUgyMHmfS6FVGuZ2Okz71f61vPXLoU8tosIzf7sI,3545
27
+ nedo_vision_worker/protos/AIModelService_pb2_grpc.py,sha256=2uxhbAQDmAAkuuanYkfGtwmCdSVzob_AvcKh9M248hM,6076
28
+ nedo_vision_worker/protos/DatasetSourceService_pb2.py,sha256=plHyTJvGqWCtup2vI7Y_NocITV-q47aCV3xddgwrhRQ,3362
29
+ nedo_vision_worker/protos/DatasetSourceService_pb2_grpc.py,sha256=Wuoj7bPzv6sMO_78Ruef_A8PcBO8WNLsYdDGR6zYG5s,6265
30
+ nedo_vision_worker/protos/HumanDetectionService_pb2.py,sha256=ltufKuBaXkOChbqOUVvbcRNxNTiaEj204QqktBcMstU,3277
31
+ nedo_vision_worker/protos/HumanDetectionService_pb2_grpc.py,sha256=5yIOEcldBQJ1Ep_S-piesAx53TtElNMzx2Z7qwoett8,6260
32
+ nedo_vision_worker/protos/PPEDetectionService_pb2.py,sha256=c1v864-pcMiHekQU7kxqV0wQg-p8zloDPVegF8JHd5c,3582
33
+ nedo_vision_worker/protos/PPEDetectionService_pb2_grpc.py,sha256=SKn2BOHaX-ztD97l6bfngvAeJiy-hnjphzNI7CfAvtw,6186
34
+ nedo_vision_worker/protos/VisionWorkerService_pb2.py,sha256=d88SWd1orMP--zvhuJCFpGhadoxeC0FPprh6zZPt4pE,7146
35
+ nedo_vision_worker/protos/VisionWorkerService_pb2_grpc.py,sha256=eV-kC0pPalm0di_yXlnHqv-6AhRWqJmyveTiFfUplLQ,18937
36
+ nedo_vision_worker/protos/WorkerSourcePipelineService_pb2.py,sha256=61xX4pKm_eBDdgpPpQtLcB45cDOD0ON6n5syE1_iKrM,7058
37
+ nedo_vision_worker/protos/WorkerSourcePipelineService_pb2_grpc.py,sha256=Bhq1kWbktPiYpIbmvzpfGapR1u_DEXawEaofJ7L_Be8,15384
38
+ nedo_vision_worker/protos/WorkerSourceService_pb2.py,sha256=CcXys0UCBwmjROOf0VdoN6oJKNopM1LvJ8owdrlA7z0,3926
39
+ nedo_vision_worker/protos/WorkerSourceService_pb2_grpc.py,sha256=23Zj3WSogfhmp_YK4z_DE3Bzs-N-X17SXL9A8u1rYus,8314
40
40
  nedo_vision_worker/protos/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
41
41
  nedo_vision_worker/repositories/AIModelRepository.py,sha256=35cQ2EnJvMdArewumPrVIaiwueGy6cXU_g5J1Qcj6_Y,1415
42
42
  nedo_vision_worker/repositories/DatasetSourceRepository.py,sha256=MOUbXY1-7WUPhY15aMpdXl6rl0afSvu3Cq8jNtp9nzM,8595
@@ -47,21 +47,26 @@ nedo_vision_worker/repositories/WorkerSourcePipelineDetectionRepository.py,sha25
47
47
  nedo_vision_worker/repositories/WorkerSourcePipelineRepository.py,sha256=xfmEvgnyt-DdfSApGyFfy0H0dXjFFkjeo4LMr0fVFXU,10053
48
48
  nedo_vision_worker/repositories/WorkerSourceRepository.py,sha256=Rw9wJ27TETECCNwDxQu19KaKipQ_XHU0JJP6-0rzgmU,1982
49
49
  nedo_vision_worker/repositories/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
50
- nedo_vision_worker/services/AIModelClient.py,sha256=c4-6OQ4jNemtSbFHe_ZAdap9pRS1LOrtTTcBs8DcYmU,15185
50
+ nedo_vision_worker/services/AIModelClient.py,sha256=lxRNax6FR-pV0G1NpJnlaqjbQeu3kRolIUNSw1RkoZA,15406
51
51
  nedo_vision_worker/services/ConnectionInfoClient.py,sha256=toC9zuY2Hrx1Cwq8Gycy_iFlaG1DvFT4qewlLlitpEQ,2214
52
52
  nedo_vision_worker/services/DatasetSourceClient.py,sha256=O5a7onxFl0z47zXaMXWxHAMPuuc-i_vzkd2w5fwrukc,3319
53
+ nedo_vision_worker/services/DirectDeviceToRTMPStreamer.py,sha256=M5ei0cd3_KDhHZp6EkrOowhAY-hAHfAQh9YDVjQtbQI,22278
53
54
  nedo_vision_worker/services/FileToRTMPServer.py,sha256=yUJxrouoTLSq9XZ88dhDYhP-px10jLoHopkPoy4lQxk,2663
54
- nedo_vision_worker/services/GrpcClientBase.py,sha256=zEqDglS48HmcLw77LWc7l6nLYeVy_w_6y2O5pB9C88A,6344
55
+ nedo_vision_worker/services/GrpcClientBase.py,sha256=9tNOGFfcm1Vy7ELgiA78KmGYCT13d4nBzpZkRkhsFKI,7385
55
56
  nedo_vision_worker/services/GrpcClientManager.py,sha256=DLXekmxlQogLo8V9-TNDXtyHT_UG-BaggqwsIups55k,5568
56
57
  nedo_vision_worker/services/ImageUploadClient.py,sha256=T353YsRfm74G7Mh-eWr5nvdQHXTfpKwHJFmNW8HyjT8,3019
57
- nedo_vision_worker/services/PPEDetectionClient.py,sha256=gX2EC4NBkKX5EvqQ8r7pAsaFTiKrl9x6hXA5OVrumt4,4625
58
+ nedo_vision_worker/services/PPEDetectionClient.py,sha256=CC-b0LRAgrftfIKp6TFKpeBkTYefe-C6Z1oz_X3HArQ,4345
58
59
  nedo_vision_worker/services/RTSPtoRTMPStreamer.py,sha256=hkPRX6iGxUtivsOA36JWBopHEd1RlmgIP8SLqN4d2TU,3863
59
- nedo_vision_worker/services/RestrictedAreaClient.py,sha256=-E1Ao_Pxi1DKFWDTotvyXPDgyvxbGox3wwWxKcVaXA8,4143
60
+ nedo_vision_worker/services/RestrictedAreaClient.py,sha256=AE9SOcVQca4zn5V96boho56EgN5BCIpV-8grvFBBnGo,3853
61
+ nedo_vision_worker/services/SharedDirectDeviceClient.py,sha256=dylMhqpMsfK_UKLWIVL-ApJRP4g-NCP_55xvlGYBiwo,10760
62
+ nedo_vision_worker/services/SharedVideoStreamServer.py,sha256=WMKVxkzMoyfbgYiJ0fQOT-Ujz9btz6FLlaDP738yfoY,11601
60
63
  nedo_vision_worker/services/SystemUsageClient.py,sha256=PbRuwDWKnMarcnkGtOKfYB5nA-3DeKv7V5_hZr8EDEo,3200
61
- nedo_vision_worker/services/VideoStreamClient.py,sha256=0PImMGwbPsX0Wfb4wsA42-Qbo8it0aWI-FpQSEV3f_A,6322
62
- nedo_vision_worker/services/WorkerSourceClient.py,sha256=pSbcPLNlnUERtHE9HyKoYtiptulcQ_DPkygKq-9Qm0M,9186
63
- nedo_vision_worker/services/WorkerSourcePipelineClient.py,sha256=D6LM78pGXN_Fhch11Z_6SRnpaMU5xHQF-JXrIpTMksM,16620
64
- nedo_vision_worker/services/WorkerSourceUpdater.py,sha256=SC24Ww3CMRdDGmE07ABTR9asjMiWNuqVanxV2zMgf18,6122
64
+ nedo_vision_worker/services/SystemWideDeviceCoordinator.py,sha256=9zBJMCbTMZS7gwN67rFpoUiTr82El2rpIO7DKFzeMjM,9417
65
+ nedo_vision_worker/services/VideoSharingDaemon.py,sha256=hYMjUIKNUVT1qSxuUuHN-7Bd85MDkxfqslxDLe2PBYQ,29721
66
+ nedo_vision_worker/services/VideoStreamClient.py,sha256=jSStEGjIHId4GseL-eE7FNGYU1CXgLaSjOm5CFVliPE,6828
67
+ nedo_vision_worker/services/WorkerSourceClient.py,sha256=vDZeCuHL5QQ2-knZ4TOSA59jzmbbThGIwFKKLEZ72Ws,9198
68
+ nedo_vision_worker/services/WorkerSourcePipelineClient.py,sha256=rkKTPDWDgXhutMTqo_qvGvx1uVkhHcgi-3mJMywub8s,17705
69
+ nedo_vision_worker/services/WorkerSourceUpdater.py,sha256=MsUsKL75sXj2odCcbupkFDW0KXg9LSu6-67iMWpYkHs,7679
65
70
  nedo_vision_worker/services/WorkerStatusClient.py,sha256=7kC5EZjEBwWtHOE6UQ29OPCpYnv_6HSuH7Tc0alK_2Q,2531
66
71
  nedo_vision_worker/services/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
67
72
  nedo_vision_worker/util/HardwareID.py,sha256=rSW8-6stm7rjXEdkYGqXMUn56gyw62YiWnSwZQVCCLM,4315
@@ -69,24 +74,24 @@ nedo_vision_worker/util/ImageUploader.py,sha256=2xipN3fwpKgFmbvoGIdElpGn5ARJyrgR
69
74
  nedo_vision_worker/util/Networking.py,sha256=uOtL8HkKZXJp02ZZIHWYMAvAsaYb7BsAPTncfdvJx2c,3241
70
75
  nedo_vision_worker/util/PlatformDetector.py,sha256=-iLPrKs7hp_oltkCI3hESJQkC2uRyu1-8mAbZrvgWx0,1501
71
76
  nedo_vision_worker/util/SystemMonitor.py,sha256=2MWYaEXoL91UANT_-SuDWrFMq1ajPorh8co6Py9PV_c,11300
72
- nedo_vision_worker/util/VideoProbeUtil.py,sha256=r5P6-ecyrSlzJ7W05LrcfdMHlFKb6vg7asowNh1CJrE,4313
77
+ nedo_vision_worker/util/VideoProbeUtil.py,sha256=whgvZvSeO5y7IG3E1mxn5KRKYqxyrGtLJowV3nHgwYA,13181
73
78
  nedo_vision_worker/util/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
74
79
  nedo_vision_worker/worker/CoreActionWorker.py,sha256=lb7zPY3yui6I3F4rX4Ii7JwpWZahLEO72rh3iWOgFmg,5441
75
80
  nedo_vision_worker/worker/DataSenderWorker.py,sha256=o32MT28EqYwAPmd9NKhX3rfNlDKekNOI2n8mZ6s8CpU,7162
76
- nedo_vision_worker/worker/DataSyncWorker.py,sha256=2qkwef5cFfAZZa2lB5YZLkFVPselR3zdaaLXIBT7NEQ,6216
81
+ nedo_vision_worker/worker/DataSyncWorker.py,sha256=WvYfi3bG4mOKHU09J_MavfjFPrVgmxrrZYtrlQ-bnio,6265
77
82
  nedo_vision_worker/worker/DatasetFrameSender.py,sha256=1SFYj8LJFNi-anBTapsbq8U_NGMM7mnoMKg9NeFAHys,8087
78
83
  nedo_vision_worker/worker/DatasetFrameWorker.py,sha256=Ni5gPeDPk9Rz4_cbg63u7Y6LVw_-Bz24OvfeY-6Yp44,19320
79
84
  nedo_vision_worker/worker/PPEDetectionManager.py,sha256=fAolWlrsY5SQAWygvjNBNU56IlC0HLlhPgpz7shL-gk,3588
80
85
  nedo_vision_worker/worker/PipelineActionWorker.py,sha256=xgvryjKtEsMj4BKqWzDIaK_lFny-DfMCj5Y2DxHnWww,5651
81
- nedo_vision_worker/worker/PipelineImageWorker.py,sha256=TN3r8WpgXg7K8knWf9y-3g1q1h-O-zDtxsxr0n2XVzI,5615
86
+ nedo_vision_worker/worker/PipelineImageWorker.py,sha256=c8_cTasgN-NJABD_qHSRb3hatg81sY_rV3lAAnuW49U,5627
82
87
  nedo_vision_worker/worker/RabbitMQListener.py,sha256=9gR49MDplgpyb-D5HOH0K77-DJQFvhS2E7biL92SjSU,6950
83
88
  nedo_vision_worker/worker/RestrictedAreaManager.py,sha256=3yoXgQ459tV1bOa5choEzR9gE6LklrtHR_e0472U3L0,3521
84
89
  nedo_vision_worker/worker/SystemUsageManager.py,sha256=StutV4UyLUfduYfK20de4SbPd7wqkR7io0gsOajxWSU,4509
85
- nedo_vision_worker/worker/VideoStreamWorker.py,sha256=TxoMYoaU6IcwJDLILC71WUkYahqVAnNX05_5qPbeS_8,6514
86
- nedo_vision_worker/worker/WorkerManager.py,sha256=7G8ORHpcVAb73UbTUi2WhcQJ-A1XFSq9d_9dLxABHac,6357
90
+ nedo_vision_worker/worker/VideoStreamWorker.py,sha256=5n6v1PNO7IB-jj_McALLkUP-cBjJoIEw4UiSAs3vTb0,7606
91
+ nedo_vision_worker/worker/WorkerManager.py,sha256=T0vMfhOd7YesgQ9o2w6soeJ6n9chUAcuwcGe7p31xr0,5298
87
92
  nedo_vision_worker/worker/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
88
- nedo_vision_worker-1.1.2.dist-info/METADATA,sha256=vlFddz6PSNmq_RE6ydhPK7-n7qsnHOcbPtssPu9AqAg,14642
89
- nedo_vision_worker-1.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
90
- nedo_vision_worker-1.1.2.dist-info/entry_points.txt,sha256=LrglS-8nCi8C_PL_pa6uxdgCe879hBETHDVXAckvs-8,60
91
- nedo_vision_worker-1.1.2.dist-info/top_level.txt,sha256=vgilhlkyD34YsEKkaBabmhIpcKSvF3XpzD2By68L-XI,19
92
- nedo_vision_worker-1.1.2.dist-info/RECORD,,
93
+ nedo_vision_worker-1.2.0.dist-info/METADATA,sha256=uj39xqzh3cXjTI02_xRZpZVPieB8PjqLUxIOvEbT12M,14591
94
+ nedo_vision_worker-1.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
95
+ nedo_vision_worker-1.2.0.dist-info/entry_points.txt,sha256=LrglS-8nCi8C_PL_pa6uxdgCe879hBETHDVXAckvs-8,60
96
+ nedo_vision_worker-1.2.0.dist-info/top_level.txt,sha256=vgilhlkyD34YsEKkaBabmhIpcKSvF3XpzD2By68L-XI,19
97
+ nedo_vision_worker-1.2.0.dist-info/RECORD,,