rocket-welder-sdk 1.1.30__tar.gz → 1.1.32__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 (41) hide show
  1. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/PKG-INFO +1 -1
  2. rocket_welder_sdk-1.1.32/VERSION +1 -0
  3. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/connection_string.py +12 -4
  4. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/controllers.py +4 -2
  5. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk.egg-info/PKG-INFO +1 -1
  6. rocket_welder_sdk-1.1.30/VERSION +0 -1
  7. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/MANIFEST.in +0 -0
  8. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/README.md +0 -0
  9. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/logo.png +0 -0
  10. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/pyproject.toml +0 -0
  11. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/__init__.py +0 -0
  12. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/bytes_size.py +0 -0
  13. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/external_controls/__init__.py +0 -0
  14. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/external_controls/contracts.py +0 -0
  15. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/external_controls/contracts_old.py +0 -0
  16. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/gst_metadata.py +0 -0
  17. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/opencv_controller.py +0 -0
  18. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/periodic_timer.py +0 -0
  19. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/py.typed +0 -0
  20. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/rocket_welder_client.py +0 -0
  21. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/ui/__init__.py +0 -0
  22. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/ui/controls.py +0 -0
  23. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/ui/icons.py +0 -0
  24. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/ui/ui_events_projection.py +0 -0
  25. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/ui/ui_service.py +0 -0
  26. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk/ui/value_types.py +0 -0
  27. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk.egg-info/SOURCES.txt +0 -0
  28. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk.egg-info/dependency_links.txt +0 -0
  29. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk.egg-info/requires.txt +0 -0
  30. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/rocket_welder_sdk.egg-info/top_level.txt +0 -0
  31. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/setup.cfg +0 -0
  32. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/setup.py +0 -0
  33. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_bytes_size.py +0 -0
  34. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_connection_string.py +0 -0
  35. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_controllers.py +0 -0
  36. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_external_controls_serialization.py +0 -0
  37. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_external_controls_serialization_v2.py +0 -0
  38. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_gst_metadata.py +0 -0
  39. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_icons.py +0 -0
  40. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_ui_controls.py +0 -0
  41. {rocket_welder_sdk-1.1.30 → rocket_welder_sdk-1.1.32}/tests/test_ui_service_happy_path.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rocket-welder-sdk
3
- Version: 1.1.30
3
+ Version: 1.1.32
4
4
  Summary: High-performance video streaming SDK for RocketWelder services using ZeroBuffer IPC
5
5
  Home-page: https://github.com/modelingevolution/rocket-welder-sdk
6
6
  Author: ModelingEvolution
@@ -0,0 +1 @@
1
+ 1.1.32
@@ -204,19 +204,27 @@ class ConnectionString:
204
204
  @classmethod
205
205
  def _parse_mjpeg(cls, protocol: Protocol, remainder: str) -> ConnectionString:
206
206
  """Parse MJPEG connection string."""
207
+ # Split host:port and query parameters
208
+ if "?" in remainder:
209
+ host_port, query_string = remainder.split("?", 1)
210
+ params = cls._parse_query_params(query_string)
211
+ else:
212
+ host_port = remainder
213
+ params = {}
214
+
207
215
  # Parse host:port format
208
- if ":" in remainder:
209
- host, port_str = remainder.rsplit(":", 1)
216
+ if ":" in host_port:
217
+ host, port_str = host_port.rsplit(":", 1)
210
218
  try:
211
219
  port = int(port_str)
212
220
  except ValueError as e:
213
221
  raise ValueError(f"Invalid port number: {port_str}") from e
214
222
  else:
215
- host = remainder
223
+ host = host_port
216
224
  # Default ports based on protocol
217
225
  port = 80 if Protocol.HTTP in protocol else 8080
218
226
 
219
- return cls(protocol=protocol, host=host, port=port)
227
+ return cls(protocol=protocol, host=host, port=port, parameters=params)
220
228
 
221
229
  @classmethod
222
230
  def _parse_query_params(cls, query_string: str) -> dict[str, str]:
@@ -14,7 +14,6 @@ from typing import TYPE_CHECKING, Callable, Optional
14
14
  import numpy as np
15
15
  from zerobuffer import BufferConfig, Frame, Reader, Writer
16
16
  from zerobuffer.duplex import DuplexChannelFactory
17
- from zerobuffer.duplex.server import ImmutableDuplexServer
18
17
  from zerobuffer.exceptions import WriterDeadException
19
18
 
20
19
  from .connection_string import ConnectionMode, ConnectionString, Protocol
@@ -22,9 +21,12 @@ from .gst_metadata import GstCaps, GstMetadata
22
21
 
23
22
  if TYPE_CHECKING:
24
23
  import numpy.typing as npt
24
+ from zerobuffer.duplex import IImmutableDuplexServer
25
25
 
26
26
  Mat = npt.NDArray[np.uint8]
27
27
  else:
28
+ from zerobuffer.duplex import IImmutableDuplexServer
29
+
28
30
  Mat = np.ndarray # type: ignore[misc]
29
31
 
30
32
  # Module logger
@@ -547,7 +549,7 @@ class DuplexShmController(IController):
547
549
  )
548
550
 
549
551
  self._connection = connection
550
- self._duplex_server: Optional[ImmutableDuplexServer] = None
552
+ self._duplex_server: Optional[IImmutableDuplexServer] = None
551
553
  self._gst_caps: Optional[GstCaps] = None
552
554
  self._metadata: Optional[GstMetadata] = None
553
555
  self._is_running = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rocket-welder-sdk
3
- Version: 1.1.30
3
+ Version: 1.1.32
4
4
  Summary: High-performance video streaming SDK for RocketWelder services using ZeroBuffer IPC
5
5
  Home-page: https://github.com/modelingevolution/rocket-welder-sdk
6
6
  Author: ModelingEvolution
@@ -1 +0,0 @@
1
- 1.1.30