xronos 0.7.0__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 (211) hide show
  1. xronos-0.7.0/CMakeLists.txt +81 -0
  2. xronos-0.7.0/LICENSE +27 -0
  3. xronos-0.7.0/PKG-INFO +76 -0
  4. xronos-0.7.0/README.md +16 -0
  5. xronos-0.7.0/THIRD_PARTY_NOTICE +187 -0
  6. xronos-0.7.0/cpp/cpp_sdk.cc +330 -0
  7. xronos-0.7.0/exported_symbols.txt +2 -0
  8. xronos-0.7.0/pyproject.toml +99 -0
  9. xronos-0.7.0/sdist/cpp-sdk/CMakeLists.txt +249 -0
  10. xronos-0.7.0/sdist/cpp-sdk/Config.cmake.in +6 -0
  11. xronos-0.7.0/sdist/cpp-sdk/LICENSE +27 -0
  12. xronos-0.7.0/sdist/cpp-sdk/THIRD_PARTY_NOTICE +133 -0
  13. xronos-0.7.0/sdist/cpp-sdk/cmake/config.hh.in +25 -0
  14. xronos-0.7.0/sdist/cpp-sdk/examples/CMakeLists.txt +12 -0
  15. xronos-0.7.0/sdist/cpp-sdk/examples/counter.cc +64 -0
  16. xronos-0.7.0/sdist/cpp-sdk/examples/hello_world.cc +27 -0
  17. xronos-0.7.0/sdist/cpp-sdk/examples/metrics.cc +104 -0
  18. xronos-0.7.0/sdist/cpp-sdk/examples/reflex_game.cc +223 -0
  19. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/README.md +20 -0
  20. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/README.md +16 -0
  21. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/docker-compose.yml +13 -0
  22. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/publisher-with-xronos/CMakeLists.txt +31 -0
  23. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/publisher-with-xronos/Dockerfile +20 -0
  24. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/publisher-with-xronos/package.xml +24 -0
  25. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/publisher-with-xronos/run.sh +8 -0
  26. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/publisher-with-xronos/src/publisher.cpp +91 -0
  27. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/subscriber-with-xronos/CMakeLists.txt +31 -0
  28. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/subscriber-with-xronos/Dockerfile +20 -0
  29. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/subscriber-with-xronos/package.xml +24 -0
  30. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/subscriber-with-xronos/run.sh +8 -0
  31. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/with-xronos/subscriber-with-xronos/src/subscriber.cpp +82 -0
  32. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/README.md +10 -0
  33. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/docker-compose.yml +13 -0
  34. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/publisher-without-xronos/CMakeLists.txt +14 -0
  35. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/publisher-without-xronos/Dockerfile +17 -0
  36. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/publisher-without-xronos/package.xml +24 -0
  37. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/publisher-without-xronos/run.sh +8 -0
  38. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/publisher-without-xronos/src/publisher.cpp +34 -0
  39. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/subscriber-without-xronos/CMakeLists.txt +14 -0
  40. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/subscriber-without-xronos/Dockerfile +17 -0
  41. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/subscriber-without-xronos/package.xml +24 -0
  42. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/subscriber-without-xronos/run.sh +8 -0
  43. xronos-0.7.0/sdist/cpp-sdk/examples/ros-interoperability/without-xronos/subscriber-without-xronos/src/subscriber.cpp +25 -0
  44. xronos-0.7.0/sdist/cpp-sdk/examples/timers.cc +43 -0
  45. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/context.hh +70 -0
  46. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/detail/connect.hh +19 -0
  47. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/detail/source_location.hh +31 -0
  48. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/element.hh +145 -0
  49. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/environment.hh +223 -0
  50. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/fwd.hh +57 -0
  51. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/metric.hh +56 -0
  52. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/periodic_timer.hh +66 -0
  53. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/physical_event.hh +130 -0
  54. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/port.hh +150 -0
  55. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/programmable_timer.hh +47 -0
  56. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/reaction.hh +518 -0
  57. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/reactor.hh +283 -0
  58. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/runtime_provider.hh +42 -0
  59. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/shutdown.hh +38 -0
  60. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/startup.hh +38 -0
  61. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/time.hh +58 -0
  62. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk/value_ptr.hh +552 -0
  63. xronos-0.7.0/sdist/cpp-sdk/include/xronos/sdk.hh +31 -0
  64. xronos-0.7.0/sdist/cpp-sdk/src/connect.cc +37 -0
  65. xronos-0.7.0/sdist/cpp-sdk/src/element.cc +42 -0
  66. xronos-0.7.0/sdist/cpp-sdk/src/environment.cc +159 -0
  67. xronos-0.7.0/sdist/cpp-sdk/src/include/impl/xronos/sdk/detail/context_access.hh +72 -0
  68. xronos-0.7.0/sdist/cpp-sdk/src/include/impl/xronos/sdk/detail/program_context.hh +32 -0
  69. xronos-0.7.0/sdist/cpp-sdk/src/metric.cc +53 -0
  70. xronos-0.7.0/sdist/cpp-sdk/src/periodic_timer.cc +48 -0
  71. xronos-0.7.0/sdist/cpp-sdk/src/physical_event.cc +46 -0
  72. xronos-0.7.0/sdist/cpp-sdk/src/port.cc +50 -0
  73. xronos-0.7.0/sdist/cpp-sdk/src/programmable_timer.cc +21 -0
  74. xronos-0.7.0/sdist/cpp-sdk/src/reaction.cc +174 -0
  75. xronos-0.7.0/sdist/cpp-sdk/src/reactor.cc +56 -0
  76. xronos-0.7.0/sdist/cpp-sdk/src/runtime_provider.cc +17 -0
  77. xronos-0.7.0/sdist/cpp-sdk/src/shutdown.cc +22 -0
  78. xronos-0.7.0/sdist/cpp-sdk/src/startup.cc +22 -0
  79. xronos-0.7.0/sdist/cpp-sdk/src/time.cc +31 -0
  80. xronos-0.7.0/sdist/cpp-sdk/test/CMakeLists.txt +10 -0
  81. xronos-0.7.0/sdist/cpp-sdk/test/empty.cc +28 -0
  82. xronos-0.7.0/sdist/cpp-sdk/test/loops.cc +344 -0
  83. xronos-0.7.0/sdist/cpp-sdk/test/periodic_timers.cc +96 -0
  84. xronos-0.7.0/sdist/cpp-sdk/test/ports.cc +421 -0
  85. xronos-0.7.0/sdist/cpp-sdk/test/programmable_timers.cc +297 -0
  86. xronos-0.7.0/sdist/cpp-sdk/test/startup_and_shutdown.cc +356 -0
  87. xronos-0.7.0/sdist/cpp-sdk/test/time.cc +152 -0
  88. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/abseil_LICENSE +203 -0
  89. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/address_sorting_LICENSE +26 -0
  90. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/boringssl_LICENSE +252 -0
  91. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/expected-lite_LICENSE +23 -0
  92. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/fmt_LICENSE +27 -0
  93. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/grpc_LICENSE +610 -0
  94. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/grpc_NOTICE +13 -0
  95. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/opentelemetry_cpp_LICENSE +201 -0
  96. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/opentelemetry_proto_LICENSE +201 -0
  97. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/protobuf_LICENSE +32 -0
  98. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/re2_LICENSE +27 -0
  99. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/reactor_cpp_LICENSE +16 -0
  100. xronos-0.7.0/sdist/cpp-sdk/third-party-licenses/utf8_range_LICENSE +26 -0
  101. xronos-0.7.0/sdist/lib/CMakeLists.txt +181 -0
  102. xronos-0.7.0/sdist/lib/Config.cmake.in +30 -0
  103. xronos-0.7.0/sdist/lib/core/CMakeLists.txt +17 -0
  104. xronos-0.7.0/sdist/lib/core/include/xronos/core/connection_graph.hh +52 -0
  105. xronos-0.7.0/sdist/lib/core/include/xronos/core/element.hh +96 -0
  106. xronos-0.7.0/sdist/lib/core/include/xronos/core/element_registry.hh +40 -0
  107. xronos-0.7.0/sdist/lib/core/include/xronos/core/reaction_dependency_registry.hh +36 -0
  108. xronos-0.7.0/sdist/lib/core/include/xronos/core/reactor_model.hh +21 -0
  109. xronos-0.7.0/sdist/lib/core/include/xronos/core/time.hh +16 -0
  110. xronos-0.7.0/sdist/lib/core/src/connection_graph.cc +63 -0
  111. xronos-0.7.0/sdist/lib/core/src/element_registry.cc +43 -0
  112. xronos-0.7.0/sdist/lib/core/src/reaction_dependency_registry.cc +28 -0
  113. xronos-0.7.0/sdist/lib/graph-exporter/CMakeLists.txt +37 -0
  114. xronos-0.7.0/sdist/lib/graph-exporter/include/xronos/graph_exporter/exporter.hh +35 -0
  115. xronos-0.7.0/sdist/lib/graph-exporter/lib/exporter.cc +293 -0
  116. xronos-0.7.0/sdist/lib/graph-exporter/test/test.cc +510 -0
  117. xronos-0.7.0/sdist/lib/graph-messages/.gitignore +5 -0
  118. xronos-0.7.0/sdist/lib/graph-messages/CMakeLists.txt +33 -0
  119. xronos-0.7.0/sdist/lib/graph-messages/Cargo.lock +1237 -0
  120. xronos-0.7.0/sdist/lib/graph-messages/Cargo.toml +22 -0
  121. xronos-0.7.0/sdist/lib/graph-messages/Dockerfile +6 -0
  122. xronos-0.7.0/sdist/lib/graph-messages/build.rs +29 -0
  123. xronos-0.7.0/sdist/lib/graph-messages/src/lib.rs +428 -0
  124. xronos-0.7.0/sdist/lib/graph-messages/xronos/messages/reactor_graph.proto +118 -0
  125. xronos-0.7.0/sdist/lib/graph-messages/xronos/messages/source_info.proto +25 -0
  126. xronos-0.7.0/sdist/lib/graph-messages/xronos/services/diagram_generator.proto +20 -0
  127. xronos-0.7.0/sdist/lib/logical-time/CMakeLists.txt +19 -0
  128. xronos-0.7.0/sdist/lib/logical-time/include/xronos/logical_time/tag.hh +46 -0
  129. xronos-0.7.0/sdist/lib/logical-time/src/tag.cc +61 -0
  130. xronos-0.7.0/sdist/lib/runtime-default/CMakeLists.txt +46 -0
  131. xronos-0.7.0/sdist/lib/runtime-default/include/xronos/runtime/default/default_runtime.hh +22 -0
  132. xronos-0.7.0/sdist/lib/runtime-default/src/default_runtime.cc +21 -0
  133. xronos-0.7.0/sdist/lib/runtime-default/src/default_runtime_impl.cc +155 -0
  134. xronos-0.7.0/sdist/lib/runtime-default/src/include/xronos/runtime/default/detail/default_runtime_impl.hh +154 -0
  135. xronos-0.7.0/sdist/lib/runtime-default/src/include/xronos/runtime/default/detail/dependency_analysis.hh +160 -0
  136. xronos-0.7.0/sdist/lib/runtime-default/src/include/xronos/runtime/default/detail/runtime_model.hh +35 -0
  137. xronos-0.7.0/sdist/lib/runtime-default/src/include/xronos/runtime/default/detail/scheduler.hh +124 -0
  138. xronos-0.7.0/sdist/lib/runtime-default/src/runtime_model.cc +55 -0
  139. xronos-0.7.0/sdist/lib/runtime-default/src/scheduler.cc +266 -0
  140. xronos-0.7.0/sdist/lib/runtime-interfaces/CMakeLists.txt +15 -0
  141. xronos-0.7.0/sdist/lib/runtime-interfaces/include/xronos/runtime/interfaces.hh +102 -0
  142. xronos-0.7.0/sdist/lib/source-location/CMakeLists.txt +15 -0
  143. xronos-0.7.0/sdist/lib/source-location/include/xronos/source_location/source_location.hh +41 -0
  144. xronos-0.7.0/sdist/lib/telemetry/CMakeLists.txt +29 -0
  145. xronos-0.7.0/sdist/lib/telemetry/include/xronos/telemetry/attribute_manager.hh +106 -0
  146. xronos-0.7.0/sdist/lib/telemetry/include/xronos/telemetry/metric.hh +44 -0
  147. xronos-0.7.0/sdist/lib/telemetry/include/xronos/telemetry/reaction.hh +38 -0
  148. xronos-0.7.0/sdist/lib/telemetry/include/xronos/telemetry/telemetry.hh +33 -0
  149. xronos-0.7.0/sdist/lib/telemetry/lib/attribute_manager.cc +54 -0
  150. xronos-0.7.0/sdist/lib/telemetry/test/test_attributes.cc +156 -0
  151. xronos-0.7.0/sdist/lib/telemetry-otel/CMakeLists.txt +28 -0
  152. xronos-0.7.0/sdist/lib/telemetry-otel/include/xronos/telemetry/otel/otel_metric_data_logger.hh +33 -0
  153. xronos-0.7.0/sdist/lib/telemetry-otel/include/xronos/telemetry/otel/otel_reaction_span_logger.hh +35 -0
  154. xronos-0.7.0/sdist/lib/telemetry-otel/include/xronos/telemetry/otel/otel_telemetry_backend.hh +55 -0
  155. xronos-0.7.0/sdist/lib/telemetry-otel/lib/common.cc +86 -0
  156. xronos-0.7.0/sdist/lib/telemetry-otel/lib/include/common.hh +39 -0
  157. xronos-0.7.0/sdist/lib/telemetry-otel/lib/otel_metric_data_logger.cc +53 -0
  158. xronos-0.7.0/sdist/lib/telemetry-otel/lib/otel_reaction_span_logger.cc +56 -0
  159. xronos-0.7.0/sdist/lib/telemetry-otel/lib/otel_telemetry_backend.cc +90 -0
  160. xronos-0.7.0/sdist/lib/util/CMakeLists.txt +18 -0
  161. xronos-0.7.0/sdist/lib/util/cmake/config.hh.in +7 -0
  162. xronos-0.7.0/sdist/lib/util/include/xronos/util/assert.hh +46 -0
  163. xronos-0.7.0/sdist/lib/util/include/xronos/util/logging.hh +141 -0
  164. xronos-0.7.0/sdist/lib/util/include/xronos/util/time_operators.hh +27 -0
  165. xronos-0.7.0/sdist/lib/util/include/xronos/util/visitor.hh +16 -0
  166. xronos-0.7.0/sdist/lib/util/src/time_operators.cc +42 -0
  167. xronos-0.7.0/sdist/lib/validator/CMakeLists.txt +23 -0
  168. xronos-0.7.0/sdist/lib/validator/include/xronos/validator/checks.hh +22 -0
  169. xronos-0.7.0/sdist/lib/validator/src/check_shutdown_reactions.cc +48 -0
  170. xronos-0.7.0/sdist/lib/validator/src/checks.cc +68 -0
  171. xronos-0.7.0/sdist/third-party/absl/absl.cmake +24 -0
  172. xronos-0.7.0/sdist/third-party/catch2/catch2.cmake +28 -0
  173. xronos-0.7.0/sdist/third-party/expected-lite/expected-lite.cmake +13 -0
  174. xronos-0.7.0/sdist/third-party/fmt/fmt.cmake +15 -0
  175. xronos-0.7.0/sdist/third-party/googletest/googletest.cmake +16 -0
  176. xronos-0.7.0/sdist/third-party/grpc/grpc.cmake +63 -0
  177. xronos-0.7.0/sdist/third-party/opentelemetry/opentelemetry.cmake +39 -0
  178. xronos-0.7.0/sdist/third-party/protobuf/protobuf.cmake +40 -0
  179. xronos-0.7.0/src/xronos/__init__.py +62 -0
  180. xronos-0.7.0/src/xronos/_core.py +1318 -0
  181. xronos-0.7.0/src/xronos/_cpp_sdk.pyi +180 -0
  182. xronos-0.7.0/src/xronos/lib/__init__.py +27 -0
  183. xronos-0.7.0/src/xronos/lib/_abstract_source.py +350 -0
  184. xronos-0.7.0/src/xronos/lib/_external_input.py +208 -0
  185. xronos-0.7.0/src/xronos/lib/_simple_source.py +188 -0
  186. xronos-0.7.0/src/xronos/lib/_socket_input.py +216 -0
  187. xronos-0.7.0/src/xronos/lib/test/test_external_input.py +123 -0
  188. xronos-0.7.0/src/xronos/lib/test/test_simple_source.py +196 -0
  189. xronos-0.7.0/src/xronos/lib/test/test_socket_input.py +180 -0
  190. xronos-0.7.0/src/xronos/lib/test/util.py +51 -0
  191. xronos-0.7.0/src/xronos/py.typed +0 -0
  192. xronos-0.7.0/src/xronos/test/test_reaction.py +57 -0
  193. xronos-0.7.0/src/xronos/test/test_reactor.py +124 -0
  194. xronos-0.7.0/third-party-licenses/abseil_LICENSE +203 -0
  195. xronos-0.7.0/third-party-licenses/address_sorting_LICENSE +26 -0
  196. xronos-0.7.0/third-party-licenses/boringssl_LICENSE +252 -0
  197. xronos-0.7.0/third-party-licenses/expected-lite_LICENSE +23 -0
  198. xronos-0.7.0/third-party-licenses/fmt_LICENSE +27 -0
  199. xronos-0.7.0/third-party-licenses/grpc_LICENSE +610 -0
  200. xronos-0.7.0/third-party-licenses/grpc_NOTICE +13 -0
  201. xronos-0.7.0/third-party-licenses/myst_parser_LICENSE +21 -0
  202. xronos-0.7.0/third-party-licenses/opentelemetry_cpp_LICENSE +201 -0
  203. xronos-0.7.0/third-party-licenses/opentelemetry_proto_LICENSE +201 -0
  204. xronos-0.7.0/third-party-licenses/protobuf_LICENSE +32 -0
  205. xronos-0.7.0/third-party-licenses/pybind11_LICENSE +29 -0
  206. xronos-0.7.0/third-party-licenses/re2_LICENSE +27 -0
  207. xronos-0.7.0/third-party-licenses/reactor_cpp_LICENSE +16 -0
  208. xronos-0.7.0/third-party-licenses/sphinx_copybutton_LICENSE +21 -0
  209. xronos-0.7.0/third-party-licenses/sphinx_rtd_theme_LICENSE +20 -0
  210. xronos-0.7.0/third-party-licenses/sphinx_tabs_LICENSE +21 -0
  211. xronos-0.7.0/third-party-licenses/utf8_range_LICENSE +26 -0
@@ -0,0 +1,81 @@
1
+ cmake_minimum_required(VERSION 3.28)
2
+
3
+ project(
4
+ ${SKBUILD_PROJECT_NAME}
5
+ LANGUAGES CXX
6
+ VERSION ${SKBUILD_PROJECT_VERSION})
7
+
8
+ # require C++ 20
9
+ set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard." FORCE)
10
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
11
+ set(CMAKE_CXX_EXTENSIONS OFF)
12
+
13
+ # Colorize compilation output
14
+ set(CMAKE_COLOR_DIAGNOSTICS ON)
15
+
16
+ # Generate compilation database
17
+ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
18
+
19
+ include(FetchContent)
20
+ if(${SKBUILD_STATE} STREQUAL "sdist")
21
+ message("Building sdist.")
22
+ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/../cpp-sdk" DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/sdist")
23
+ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/../lib" DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/sdist")
24
+ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/../third-party" DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/sdist")
25
+ return()
26
+ endif()
27
+
28
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/sdist")
29
+ message("Building from sdist.")
30
+ FetchContent_Declare(
31
+ xronos-sdk
32
+ SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/sdist/cpp-sdk"
33
+ )
34
+ else()
35
+ message("Building from source tree.")
36
+ FetchContent_Declare(
37
+ xronos-sdk
38
+ SOURCE_DIR "${PROJECT_SOURCE_DIR}/../cpp-sdk"
39
+ FIND_PACKAGE_ARGS CONFIG
40
+ )
41
+ endif()
42
+ FetchContent_MakeAvailable(xronos-sdk)
43
+
44
+
45
+ find_package(Python 3.10.0...<3.15.0 REQUIRED COMPONENTS Interpreter
46
+ Development.Module)
47
+ find_package(pybind11 CONFIG REQUIRED)
48
+
49
+ python_add_library(_cpp_sdk MODULE "${CMAKE_CURRENT_SOURCE_DIR}/cpp/cpp_sdk.cc" WITH_SOABI)
50
+ target_link_libraries(_cpp_sdk PRIVATE xronos::xronos-sdk pybind11::headers)
51
+ target_compile_options(_cpp_sdk PRIVATE -Wall -Wextra -pedantic -Werror)
52
+
53
+ if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux")
54
+ target_link_options(_cpp_sdk PRIVATE -Wl,--exclude-libs,ALL)
55
+ elseif(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Darwin")
56
+ target_link_options(_cpp_sdk PRIVATE -Wl,-exported_symbols_list,${CMAKE_CURRENT_LIST_DIR}/exported_symbols.txt)
57
+ endif()
58
+
59
+ target_include_directories(_cpp_sdk PRIVATE "${CMAKE_CURRENT_LIST_DIR}/include")
60
+ set_target_properties(_cpp_sdk PROPERTIES
61
+ CXX_VISIBILITY_PRESET hidden
62
+ VISIBILITY_INLINES_HIDDEN YES
63
+ )
64
+
65
+ install(TARGETS _cpp_sdk DESTINATION ${SKBUILD_PROJECT_NAME})
66
+
67
+ add_custom_target(xronos-py-bindings-format
68
+ COMMAND clang-format -i -style=file $<TARGET_PROPERTY:_cpp_sdk,SOURCES>
69
+ COMMAND_EXPAND_LISTS
70
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
71
+ )
72
+ add_custom_target(xronos-py-bindings-check-format
73
+ COMMAND clang-format --dry-run --Werror -style=file $<TARGET_PROPERTY:_cpp_sdk,SOURCES>
74
+ COMMAND_EXPAND_LISTS
75
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
76
+ )
77
+
78
+ add_custom_target(xronos-py-bindings-lint COMMAND
79
+ clang-tidy --quiet -p ${CMAKE_CURRENT_BINARY_DIR} $<TARGET_PROPERTY:_cpp_sdk,SOURCES>
80
+ COMMAND_EXPAND_LISTS
81
+ )
xronos-0.7.0/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright © 2024 Xronos Inc. All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without modification, are
6
+ permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this list of
9
+ conditions, and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list
12
+ of conditions, and the following disclaimer in the documentation and/or other
13
+ materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its contributors may be
16
+ used to endorse or promote products derived from this software without specific prior
17
+ written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
22
+ THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
27
+ THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
xronos-0.7.0/PKG-INFO ADDED
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.2
2
+ Name: xronos
3
+ Version: 0.7.0
4
+ Summary: Reactors for Python
5
+ Author-Email: Christian Menard <christian@xronos.com>, Peter Donovan <peter@xronos.com>, "Jeff C. Jensen" <elgeeko@xronos.com>, Erling Jellum <erling@xronos.com>
6
+ Maintainer-Email: Christian Menard <christian@xronos.com>
7
+ License: BSD 3-Clause License
8
+
9
+ Copyright © 2024 Xronos Inc. All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without modification, are
12
+ permitted provided that the following conditions are met:
13
+
14
+ 1. Redistributions of source code must retain the above copyright notice, this list of
15
+ conditions, and the following disclaimer.
16
+
17
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list
18
+ of conditions, and the following disclaimer in the documentation and/or other
19
+ materials provided with the distribution.
20
+
21
+ 3. Neither the name of the copyright holder nor the names of its contributors may be
22
+ used to endorse or promote products derived from this software without specific prior
23
+ written permission.
24
+
25
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
26
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
28
+ THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
30
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
33
+ THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
+
35
+ Classifier: Development Status :: 3 - Alpha
36
+ Classifier: Intended Audience :: Developers
37
+ Classifier: License :: OSI Approved :: BSD License
38
+ Classifier: Programming Language :: Python :: 3
39
+ Classifier: Programming Language :: Python :: 3.10
40
+ Classifier: Programming Language :: Python :: 3.11
41
+ Classifier: Programming Language :: Python :: 3.12
42
+ Classifier: Programming Language :: Python :: 3.13
43
+ Classifier: Programming Language :: Python :: 3.14
44
+ Classifier: Programming Language :: Python :: Free Threading
45
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
46
+ Classifier: Operating System :: POSIX :: Linux
47
+ Classifier: Topic :: Scientific/Engineering
48
+ Classifier: Topic :: Software Development :: Embedded Systems
49
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
50
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
51
+ Classifier: Typing :: Typed
52
+ Project-URL: Homepage, https://xronos.com
53
+ Project-URL: Repository, https://github.com/xronos-inc/xronos
54
+ Project-URL: Documentation, https://xronos-inc.github.io/xronos/index.html
55
+ Requires-Python: >=3.10
56
+ Requires-Dist: typing-extensions>=4.5.0
57
+ Provides-Extra: dashboard
58
+ Requires-Dist: xronos-dashboard==0.7.0; extra == "dashboard"
59
+ Description-Content-Type: text/markdown
60
+
61
+ # Xronos
62
+
63
+ [![GitHub Release](https://img.shields.io/github/v/release/xronos-inc/xronos?logo=GitHub)](https://github.com/xronos-inc/xronos/releases/latest)
64
+ [![PyPI - Version](https://img.shields.io/pypi/v/xronos?logo=Python&logoColor=silver)](https://pypi.org/project/xronos/)
65
+ [![GitHub License](https://img.shields.io/github/license/xronos-inc/xronos)](https://github.com/xronos-inc/xronos/blob/main/LICENSE)
66
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/xronos?logo=Python&logoColor=silver)](https://pypi.org/project/xronos/)
67
+ [![Static Badge](https://img.shields.io/badge/docs-blue?logo=Read%20the%20Docs&logoColor=white)](https://docs.xronos.com/)
68
+
69
+ A lightweight framework for building deterministic, component-based robotics
70
+ applications. It supports real-time telemetry, system visualization, and modular
71
+ design with a focus on clarity, scalability, and correctness.
72
+
73
+ ## Getting Started
74
+
75
+ See [https://docs.xronos.com/python_sdk/getting_started.html](https://docs.xronos.com/python_sdk/getting_started.html)
76
+
xronos-0.7.0/README.md ADDED
@@ -0,0 +1,16 @@
1
+ # Xronos
2
+
3
+ [![GitHub Release](https://img.shields.io/github/v/release/xronos-inc/xronos?logo=GitHub)](https://github.com/xronos-inc/xronos/releases/latest)
4
+ [![PyPI - Version](https://img.shields.io/pypi/v/xronos?logo=Python&logoColor=silver)](https://pypi.org/project/xronos/)
5
+ [![GitHub License](https://img.shields.io/github/license/xronos-inc/xronos)](https://github.com/xronos-inc/xronos/blob/main/LICENSE)
6
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/xronos?logo=Python&logoColor=silver)](https://pypi.org/project/xronos/)
7
+ [![Static Badge](https://img.shields.io/badge/docs-blue?logo=Read%20the%20Docs&logoColor=white)](https://docs.xronos.com/)
8
+
9
+ A lightweight framework for building deterministic, component-based robotics
10
+ applications. It supports real-time telemetry, system visualization, and modular
11
+ design with a focus on clarity, scalability, and correctness.
12
+
13
+ ## Getting Started
14
+
15
+ See [https://docs.xronos.com/python_sdk/getting_started.html](https://docs.xronos.com/python_sdk/getting_started.html)
16
+
@@ -0,0 +1,187 @@
1
+ THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
2
+
3
+ This project includes third-party software components, which are distributed under the
4
+ following licenses. Full licenses and notices are provided in the
5
+ [third-party-licenses](third-party-licenses) subdirectory.
6
+
7
+ ---
8
+
9
+ Component: Abseil C++
10
+ Version: Abseil LTS 20250512.1
11
+ License: Apache License 2.0
12
+ License text: https://www.apache.org/licenses/LICENSE-2.0
13
+ Source: https://github.com/abseil/abseil-cpp
14
+
15
+ For the full license text, see:
16
+ [third-party-licenses/libabseil_LICENSE](third-party-licenses/libabseil_LICENSE)
17
+
18
+ ---
19
+
20
+ Component: address_sorting
21
+ License: BSD 3-Clause License
22
+ License text: https://opensource.org/licenses/BSD-3-Clause
23
+ Source: https://github.com/grpc/grpc/tree/v1.76.0/third_party/address_sorting
24
+
25
+ For the full license text, see:
26
+ [third-party-licenses/address_sorting_LICENSE](third-party-licenses/address_sorting_LICENSE)
27
+
28
+ ---
29
+
30
+ Component: boringssl
31
+ License: Mixed, see full license text
32
+ Version c63fadbde60a2224c22189d14c4001bbd2a3a629
33
+ Source: https://boringssl.googlesource.com/boringssl
34
+
35
+ For the full license text, see:
36
+ [third-party-licenses/boringssl_LICENSE](third-party-licenses/boringssl_LICENSE)
37
+
38
+ ---
39
+
40
+ Component: expected-lite
41
+ Version: v0.10.0
42
+ License: Boost Software License 1.0
43
+ Source: https://github.com/martinmoene/expected-lite
44
+
45
+ For the full license text, see:
46
+ [third-party-licenses/expected-lite_LICENSE](third-party-licenses/expected-lite_LICENSE)
47
+
48
+ ---
49
+
50
+ Component: {fmt}
51
+ License: MIT
52
+ License text: https://opensource.org/licenses/MIT
53
+ Version: 12.1.0
54
+ Source: https://github.com/fmtlib/fmt
55
+
56
+ For the full license text, see:
57
+ [third-party-licenses/fmt_LICENSE](third-party-licenses/fmt_LICENSE)
58
+
59
+ ---
60
+
61
+ Component: gRPC
62
+ Version: v1.76.0
63
+ License: Apache License 2.0
64
+ License text: https://www.apache.org/licenses/LICENSE-2.0
65
+ Source: https://github.com/grpc/grpc
66
+
67
+ [third-party-licenses/grpc_LICENSE](third-party-licenses/grpc_LICENSE)
68
+
69
+ ---
70
+
71
+ Component: myst_parser
72
+ Version: v4.0.1
73
+ License: MIT License
74
+ License text: https://opensource.org/licenses/MIT
75
+ Source: https://github.com/executablebooks/MyST-Parser
76
+
77
+ For the full license text, see:
78
+ [third-party-licenses/myst_parser_LICENSE](third-party-licenses/myst_parser_LICENSE)
79
+
80
+ ---
81
+
82
+ Component: OpenTelemetry protocol (OTLP)
83
+ Version: v1.8.0
84
+ License: Apache License 2.0
85
+ License text: https://www.apache.org/licenses/LICENSE-2.0
86
+ Source: https://github.com/open-telemetry/opentelemetry-proto
87
+
88
+ For the full license text, see:
89
+ [third-party-licenses/opentelemetry_proto_LICENSE](third-party-licenses/opentelemetry_proto_LICENSE)
90
+
91
+ ---
92
+
93
+ Component: OpenTelemetry C++
94
+ Version: v1.24.0
95
+ License: Apache License 2.0
96
+ License text: https://www.apache.org/licenses/LICENSE-2.0
97
+ Source: https://github.com/open-telemetry/opentelemetry-cpp
98
+
99
+ For the full license text, see:
100
+ [third-party-licenses/opentelemetry_cpp_LICENSE](third-party-licenses/opentelemetry_cpp_LICENSE)
101
+
102
+ ---
103
+
104
+ Component: protobuf
105
+ Version: v31.1
106
+ License: BSD 3-Clause License
107
+ License text: https://opensource.org/licenses/BSD-3-Clause
108
+ Source: https://github.com/protocolbuffers/protobuf
109
+
110
+ For the full license text, see:
111
+ [third-party-licenses/protobuf_LICENSE](third-party-licenses/protobuf_LICENSE)
112
+
113
+ ---
114
+
115
+ Component: pybind11
116
+ Version: v3.0.0
117
+ License: BSD 3-Clause License
118
+ License text: https://opensource.org/licenses/BSD-3-Clause
119
+ Source: https://github.com/pybind/pybind11
120
+
121
+ For the full license text, see:
122
+ [third-party-licenses/pybind11_LICENSE](third-party-licenses/pybind11_LICENSE)
123
+
124
+ ---
125
+
126
+ Component: reactor-cpp
127
+ Version: ae09ff11b131ff926bc4af3b4b4b466c6ca16c1d
128
+ License: ISC License
129
+ License text: https://opensource.org/licenses/ISC
130
+ Source: https://github.com/lf-lang/reactor-cpp
131
+
132
+ For the full license text, see:
133
+ [third-party-licenses/reactor_cpp_LICENSE](third-party-licenses/reactor_cpp_LICENSE)
134
+
135
+ ---
136
+
137
+ Component: re2
138
+ Version: 2022-04-01
139
+ License: BSD 3-Clause License
140
+ License text: https://opensource.org/licenses/BSD-3-Clause
141
+ Source: https://github.com/google/re2
142
+
143
+ For the full license text, see:
144
+ [third-party-licenses/re2_LICENSE](third-party-licenses/re2_LICENSE)
145
+
146
+ ---
147
+
148
+ Component: sphinx-copybutton
149
+ Version: v0.5.2
150
+ License: MIT License
151
+ License text: https://opensource.org/licenses/MIT
152
+ Source: https://github.com/executablebooks/sphinx-copybutton
153
+
154
+ For the full license text, see:
155
+ [third-party-licenses/sphinx_copybutton_LICENSE](third-party-licenses/sphinx_copybutton_LICENSE)
156
+
157
+ ---
158
+
159
+ Component: sphinx_rtd_theme
160
+ Version: 3.0.2
161
+ License: MIT License
162
+ License text: https://opensource.org/licenses/MIT
163
+ Source: https://github.com/readthedocs/sphinx_rtd_theme
164
+
165
+ For the full license text, see:
166
+ [third-party-licenses/sphinx_rtd_theme_LICENSE](third-party-licenses/sphinx_rtd_theme_LICENSE)
167
+
168
+ ---
169
+
170
+ Component: sphinx-tabs
171
+ Version: 3.4.7
172
+ License: MIT License
173
+ License text: https://opensource.org/licenses/MIT
174
+ Source: https://github.com/executablebooks/sphinx-tabs
175
+
176
+ For the full license text, see:
177
+ [third-party-licenses/sphinx_tabs_LICENSE](third-party-licenses/sphinx_tabs_LICENSE)
178
+
179
+ ---
180
+
181
+ Component: utf8_range
182
+ License: MIT License
183
+ License text: https://opensource.org/licenses/MIT
184
+ Source: https://github.com/grpc/grpc/tree/v1.76.0/third_party/utf8_range
185
+
186
+ For the full license text, see:
187
+ [third-party-licenses/utf8_range_LICENSE](third-party-licenses/utf8_range_LICENSE)