reactor-runtime 2.7.2__tar.gz → 2.7.3__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 (135) hide show
  1. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/PKG-INFO +1 -1
  2. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/pyproject.toml +1 -1
  3. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/runtimes/http/http_runtime.py +6 -0
  4. reactor_runtime-2.7.3/src/reactor_runtime/serve/__main__.py +13 -0
  5. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime.egg-info/PKG-INFO +1 -1
  6. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime.egg-info/SOURCES.txt +1 -0
  7. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/README.md +0 -0
  8. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/setup.cfg +0 -0
  9. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/api/__init__.py +0 -0
  10. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/__init__.py +0 -0
  11. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/config.py +0 -0
  12. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/__init__.py +0 -0
  13. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/defaults.py +0 -0
  14. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/driver/__init__.py +0 -0
  15. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/driver/pipeline_executor.py +0 -0
  16. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/driver/step_result.py +0 -0
  17. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/events/__init__.py +0 -0
  18. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/events/connected.py +0 -0
  19. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/events/event.py +0 -0
  20. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/events/messages.py +0 -0
  21. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/events/upload.py +0 -0
  22. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/internal/__init__.py +0 -0
  23. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/internal/input_buffer.py +0 -0
  24. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/internal/output_buffer.py +0 -0
  25. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/internal/reactor_core.py +0 -0
  26. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/model/__init__.py +0 -0
  27. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/model/decorators.py +0 -0
  28. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/model/handlers.py +0 -0
  29. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/model/reactor_model.py +0 -0
  30. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/pipeline/__init__.py +0 -0
  31. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/pipeline/idle.py +0 -0
  32. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/pipeline/input_state.py +0 -0
  33. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/pipeline/reactor_pipeline.py +0 -0
  34. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/tracks/__init__.py +0 -0
  35. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/tracks/descriptors.py +0 -0
  36. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/tracks/input.py +0 -0
  37. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/tracks/output.py +0 -0
  38. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/interface/upload.py +0 -0
  39. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/model_state.py +0 -0
  40. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/__init__.py +0 -0
  41. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/backends/__init__.py +0 -0
  42. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/backends/base.py +0 -0
  43. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/backends/file.py +0 -0
  44. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/backends/otlp.py +0 -0
  45. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/helpers.py +0 -0
  46. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/plotting/__init__.py +0 -0
  47. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/plotting/plot_profiling.py +0 -0
  48. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/profiler.py +0 -0
  49. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/profiling/singleton.py +0 -0
  50. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/recording/__init__.py +0 -0
  51. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/recording/chunk_encoder.py +0 -0
  52. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/recording/chunk_uploader.py +0 -0
  53. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/recording/config.py +0 -0
  54. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/recording/markers.py +0 -0
  55. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/recording/session_recorder.py +0 -0
  56. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/recording/sinks.py +0 -0
  57. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/recording/track_resolver.py +0 -0
  58. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/runtime_api.py +0 -0
  59. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/runtimes/headless/config.py +0 -0
  60. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/runtimes/headless/headless_runtime.py +0 -0
  61. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/runtimes/headless/input_feeder.py +0 -0
  62. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/runtimes/http/config.py +0 -0
  63. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/runtimes/http/types.py +0 -0
  64. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/schema.py +0 -0
  65. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/schema_validator.py +0 -0
  66. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/serve/__init__.py +0 -0
  67. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/serve/commands/__init__.py +0 -0
  68. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/serve/commands/run.py +0 -0
  69. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/serve/commands/schema.py +0 -0
  70. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/serve/main.py +0 -0
  71. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/serve/utils/__init__.py +0 -0
  72. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/serve/utils/config.py +0 -0
  73. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/serve/utils/runtime.py +0 -0
  74. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/__init__.py +0 -0
  75. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/aiortc/__init__.py +0 -0
  76. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/aiortc/audio_track.py +0 -0
  77. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/aiortc/client.py +0 -0
  78. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/aiortc/frame_conversion.py +0 -0
  79. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/aiortc/ice_connection.py +0 -0
  80. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/aiortc/video_track.py +0 -0
  81. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/config.py +0 -0
  82. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/events.py +0 -0
  83. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/__init__.py +0 -0
  84. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/client.py +0 -0
  85. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/__init__.py +0 -0
  86. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/av1.py +0 -0
  87. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/base.py +0 -0
  88. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/factory.py +0 -0
  89. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/h264.py +0 -0
  90. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/h265.py +0 -0
  91. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/opus.py +0 -0
  92. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/vp8.py +0 -0
  93. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/decoders/vp9.py +0 -0
  94. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/__init__.py +0 -0
  95. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/av1.py +0 -0
  96. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/base.py +0 -0
  97. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/factory.py +0 -0
  98. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/h264.py +0 -0
  99. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/h265.py +0 -0
  100. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/opus.py +0 -0
  101. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/vp8.py +0 -0
  102. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/encoders/vp9.py +0 -0
  103. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/gst.py +0 -0
  104. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/gst_helpers.py +0 -0
  105. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/probes/__init__.py +0 -0
  106. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/probes/fps_probe.py +0 -0
  107. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/receiver/__init__.py +0 -0
  108. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/receiver/audio.py +0 -0
  109. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/receiver/base.py +0 -0
  110. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/receiver/video.py +0 -0
  111. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sdp/__init__.py +0 -0
  112. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sdp/bundle.py +0 -0
  113. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sdp/codec.py +0 -0
  114. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sdp/extmap.py +0 -0
  115. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sdp/ice.py +0 -0
  116. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sender/__init__.py +0 -0
  117. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sender/audio.py +0 -0
  118. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sender/base.py +0 -0
  119. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/sender/video.py +0 -0
  120. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/settings.py +0 -0
  121. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/gstreamer/signals.py +0 -0
  122. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/ice_uris.py +0 -0
  123. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/interface.py +0 -0
  124. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/media.py +0 -0
  125. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/transports/types.py +0 -0
  126. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/utils/launch.py +0 -0
  127. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/utils/loader.py +0 -0
  128. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/utils/log.py +0 -0
  129. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/utils/messages.py +0 -0
  130. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/utils/paths.py +0 -0
  131. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/utils/ports.py +0 -0
  132. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime/utils/typing.py +0 -0
  133. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime.egg-info/dependency_links.txt +0 -0
  134. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime.egg-info/requires.txt +0 -0
  135. {reactor_runtime-2.7.2 → reactor_runtime-2.7.3}/src/reactor_runtime.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reactor_runtime
3
- Version: 2.7.2
3
+ Version: 2.7.3
4
4
  Summary: Reactor runtime with public model API
5
5
  Author-email: Reactor <team@reactor.inc>
6
6
  Requires-Python: >=3.9
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "reactor_runtime"
7
- version = "2.7.2"
7
+ version = "2.7.3"
8
8
  description = "Reactor runtime with public model API"
9
9
  authors = [
10
10
  { name = "Reactor", email = "team@reactor.inc" }
@@ -904,6 +904,12 @@ class HttpRuntime(Runtime):
904
904
  asyncio.run_coroutine_threadsafe(self._stop_webrtc_client(), self.loop)
905
905
 
906
906
  def on_before_cleanup_complete(self, **kwargs) -> None:
907
+ # Belt-and-braces stop: also tear the recorder down here so
908
+ # session-end paths that bypass STOP_SESSION (notably the
909
+ # orphan-timeout path ORPHANED → CLOSING via TIMEOUT) can't
910
+ # leak the recorder. ``_stop_recorder`` is idempotent so the
911
+ # normal STOP_SESSION path is a no-op here. REA-2338.
912
+ self._stop_recorder()
907
913
  self._upload_store.clear()
908
914
 
909
915
  # -----------------------------------------------------------------
@@ -0,0 +1,13 @@
1
+ # Copyright (c) 2026 Reactor Technologies, Inc. All rights reserved.
2
+ """Module entry point for `python -m reactor_runtime.serve`.
3
+
4
+ Container CMDs and the Go CLI's docker-run dispatcher invoke this; nobody
5
+ should call it as a console script (no `[project.scripts]` entry exists).
6
+ The actual subcommand registration lives in `main.py` so it can be unit-
7
+ tested without exec'ing the module.
8
+ """
9
+
10
+ from reactor_runtime.serve.main import main
11
+
12
+ if __name__ == "__main__":
13
+ main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reactor_runtime
3
- Version: 2.7.2
3
+ Version: 2.7.3
4
4
  Summary: Reactor runtime with public model API
5
5
  Author-email: Reactor <team@reactor.inc>
6
6
  Requires-Python: >=3.9
@@ -64,6 +64,7 @@ src/reactor_runtime/runtimes/http/config.py
64
64
  src/reactor_runtime/runtimes/http/http_runtime.py
65
65
  src/reactor_runtime/runtimes/http/types.py
66
66
  src/reactor_runtime/serve/__init__.py
67
+ src/reactor_runtime/serve/__main__.py
67
68
  src/reactor_runtime/serve/main.py
68
69
  src/reactor_runtime/serve/commands/__init__.py
69
70
  src/reactor_runtime/serve/commands/run.py