holoscan 3.5.0__cp313-cp313-manylinux_2_35_x86_64.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 (125) hide show
  1. holoscan-3.5.0.data/purelib/holoscan/__init__.py +135 -0
  2. holoscan-3.5.0.data/purelib/holoscan/cli/__main__.py +26 -0
  3. holoscan-3.5.0.data/purelib/holoscan/conditions/__init__.py +75 -0
  4. holoscan-3.5.0.data/purelib/holoscan/conditions/_conditions.cpython-313-x86_64-linux-gnu.so +0 -0
  5. holoscan-3.5.0.data/purelib/holoscan/core/__init__.py +793 -0
  6. holoscan-3.5.0.data/purelib/holoscan/core/_core.cpython-313-x86_64-linux-gnu.so +0 -0
  7. holoscan-3.5.0.data/purelib/holoscan/data_loggers/__init__.py +76 -0
  8. holoscan-3.5.0.data/purelib/holoscan/data_loggers/async_console_logger/__init__.py +22 -0
  9. holoscan-3.5.0.data/purelib/holoscan/data_loggers/async_console_logger/_async_console_logger.cpython-313-x86_64-linux-gnu.so +0 -0
  10. holoscan-3.5.0.data/purelib/holoscan/data_loggers/basic_console_logger/__init__.py +22 -0
  11. holoscan-3.5.0.data/purelib/holoscan/data_loggers/basic_console_logger/_basic_console_logger.cpython-313-x86_64-linux-gnu.so +0 -0
  12. holoscan-3.5.0.data/purelib/holoscan/decorator.py +662 -0
  13. holoscan-3.5.0.data/purelib/holoscan/executors/__init__.py +26 -0
  14. holoscan-3.5.0.data/purelib/holoscan/executors/_executors.cpython-313-x86_64-linux-gnu.so +0 -0
  15. holoscan-3.5.0.data/purelib/holoscan/graphs/__init__.py +32 -0
  16. holoscan-3.5.0.data/purelib/holoscan/graphs/_graphs.cpython-313-x86_64-linux-gnu.so +0 -0
  17. holoscan-3.5.0.data/purelib/holoscan/gxf/__init__.py +60 -0
  18. holoscan-3.5.0.data/purelib/holoscan/gxf/_gxf.cpython-313-x86_64-linux-gnu.so +0 -0
  19. holoscan-3.5.0.data/purelib/holoscan/lib/gxf_extensions/libgxf_holoscan_wrapper.so +0 -0
  20. holoscan-3.5.0.data/purelib/holoscan/lib/gxf_extensions/libgxf_holoscan_wrapper_lib.so +0 -0
  21. holoscan-3.5.0.data/purelib/holoscan/lib/gxf_extensions/libgxf_ucx_holoscan.so +0 -0
  22. holoscan-3.5.0.data/purelib/holoscan/lib/gxf_extensions/libgxf_ucx_holoscan_lib.so +0 -0
  23. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_app.so +0 -0
  24. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_core.so +0 -0
  25. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_cuda.so +0 -0
  26. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_http.so +0 -0
  27. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_logger.so +0 -0
  28. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_multimedia.so +0 -0
  29. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_rmm.so +0 -0
  30. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_sample.so +0 -0
  31. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_serialization.so +0 -0
  32. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_std.so +0 -0
  33. holoscan-3.5.0.data/purelib/holoscan/lib/libgxf_ucx.so +0 -0
  34. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_core.so.3.5.0 +0 -0
  35. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_data_loggers_async_console_logger.so.3.5.0 +0 -0
  36. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_data_loggers_basic_console_logger.so.3.5.0 +0 -0
  37. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_infer.so.3.5.0 +0 -0
  38. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_infer_onnx_runtime.so.3.5.0 +0 -0
  39. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_infer_torch.so.3.5.0 +0 -0
  40. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_infer_utils.so.3.5.0 +0 -0
  41. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_logger.so.3.5.0 +0 -0
  42. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_async_ping_rx.so.3.5.0 +0 -0
  43. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_async_ping_tx.so.3.5.0 +0 -0
  44. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_bayer_demosaic.so.3.5.0 +0 -0
  45. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_format_converter.so.3.5.0 +0 -0
  46. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_gxf_codelet.so.3.5.0 +0 -0
  47. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_holoviz.so.3.5.0 +0 -0
  48. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_inference.so.3.5.0 +0 -0
  49. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_inference_processor.so.3.5.0 +0 -0
  50. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_ping_rx.so.3.5.0 +0 -0
  51. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_ping_tensor_rx.so.3.5.0 +0 -0
  52. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_ping_tensor_tx.so.3.5.0 +0 -0
  53. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_ping_tx.so.3.5.0 +0 -0
  54. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_segmentation_postprocessor.so.3.5.0 +0 -0
  55. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_v4l2.so.3.5.0 +0 -0
  56. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_video_stream_recorder.so.3.5.0 +0 -0
  57. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_op_video_stream_replayer.so.3.5.0 +0 -0
  58. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_pose_tree.so.3.5.0 +0 -0
  59. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_profiler.so.3.5.0 +0 -0
  60. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_spdlog_logger.so.3.5.0 +0 -0
  61. holoscan-3.5.0.data/purelib/holoscan/lib/libholoscan_viz.so.3.5.0 +0 -0
  62. holoscan-3.5.0.data/purelib/holoscan/lib/libucm.so.0.0.0 +0 -0
  63. holoscan-3.5.0.data/purelib/holoscan/lib/libucp.so.0.0.0 +0 -0
  64. holoscan-3.5.0.data/purelib/holoscan/lib/libucs.so.0.0.0 +0 -0
  65. holoscan-3.5.0.data/purelib/holoscan/lib/libucs_signal.so.0.0.0 +0 -0
  66. holoscan-3.5.0.data/purelib/holoscan/lib/libuct.so.0.0.0 +0 -0
  67. holoscan-3.5.0.data/purelib/holoscan/lib/libucxx.so +0 -0
  68. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libucm_cuda.so.0.0.0 +0 -0
  69. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libucs_fuse.so.0.0.0 +0 -0
  70. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libuct_cma.so.0.0.0 +0 -0
  71. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libuct_cuda.so.0.0.0 +0 -0
  72. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libuct_cuda_gdrcopy.so.0.0.0 +0 -0
  73. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libuct_ib.so.0.0.0 +0 -0
  74. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libuct_rdmacm.so.0.0.0 +0 -0
  75. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libuct_xpmem.so.0.0.0 +0 -0
  76. holoscan-3.5.0.data/purelib/holoscan/lib/ucx/libucx_perftest_cuda.so.0.0.0 +0 -0
  77. holoscan-3.5.0.data/purelib/holoscan/logger/__init__.py +37 -0
  78. holoscan-3.5.0.data/purelib/holoscan/logger/_logger.cpython-313-x86_64-linux-gnu.so +0 -0
  79. holoscan-3.5.0.data/purelib/holoscan/network_contexts/__init__.py +28 -0
  80. holoscan-3.5.0.data/purelib/holoscan/network_contexts/_network_contexts.cpython-313-x86_64-linux-gnu.so +0 -0
  81. holoscan-3.5.0.data/purelib/holoscan/operators/__init__.py +95 -0
  82. holoscan-3.5.0.data/purelib/holoscan/operators/bayer_demosaic/__init__.py +24 -0
  83. holoscan-3.5.0.data/purelib/holoscan/operators/bayer_demosaic/_bayer_demosaic.cpython-313-x86_64-linux-gnu.so +0 -0
  84. holoscan-3.5.0.data/purelib/holoscan/operators/format_converter/__init__.py +23 -0
  85. holoscan-3.5.0.data/purelib/holoscan/operators/format_converter/_format_converter.cpython-313-x86_64-linux-gnu.so +0 -0
  86. holoscan-3.5.0.data/purelib/holoscan/operators/gxf_codelet/__init__.py +67 -0
  87. holoscan-3.5.0.data/purelib/holoscan/operators/gxf_codelet/_gxf_codelet.cpython-313-x86_64-linux-gnu.so +0 -0
  88. holoscan-3.5.0.data/purelib/holoscan/operators/holoviz/__init__.py +423 -0
  89. holoscan-3.5.0.data/purelib/holoscan/operators/holoviz/_holoviz.cpython-313-x86_64-linux-gnu.so +0 -0
  90. holoscan-3.5.0.data/purelib/holoscan/operators/inference/__init__.py +28 -0
  91. holoscan-3.5.0.data/purelib/holoscan/operators/inference/_inference.cpython-313-x86_64-linux-gnu.so +0 -0
  92. holoscan-3.5.0.data/purelib/holoscan/operators/inference_processor/__init__.py +23 -0
  93. holoscan-3.5.0.data/purelib/holoscan/operators/inference_processor/_inference_processor.cpython-313-x86_64-linux-gnu.so +0 -0
  94. holoscan-3.5.0.data/purelib/holoscan/operators/ping_rx/__init__.py +45 -0
  95. holoscan-3.5.0.data/purelib/holoscan/operators/ping_tensor_rx/__init__.py +22 -0
  96. holoscan-3.5.0.data/purelib/holoscan/operators/ping_tensor_rx/_ping_tensor_rx.cpython-313-x86_64-linux-gnu.so +0 -0
  97. holoscan-3.5.0.data/purelib/holoscan/operators/ping_tensor_tx/__init__.py +22 -0
  98. holoscan-3.5.0.data/purelib/holoscan/operators/ping_tensor_tx/_ping_tensor_tx.cpython-313-x86_64-linux-gnu.so +0 -0
  99. holoscan-3.5.0.data/purelib/holoscan/operators/ping_tx/__init__.py +46 -0
  100. holoscan-3.5.0.data/purelib/holoscan/operators/segmentation_postprocessor/__init__.py +23 -0
  101. holoscan-3.5.0.data/purelib/holoscan/operators/segmentation_postprocessor/_segmentation_postprocessor.cpython-313-x86_64-linux-gnu.so +0 -0
  102. holoscan-3.5.0.data/purelib/holoscan/operators/v4l2_video_capture/__init__.py +23 -0
  103. holoscan-3.5.0.data/purelib/holoscan/operators/v4l2_video_capture/_v4l2_video_capture.cpython-313-x86_64-linux-gnu.so +0 -0
  104. holoscan-3.5.0.data/purelib/holoscan/operators/video_stream_recorder/__init__.py +22 -0
  105. holoscan-3.5.0.data/purelib/holoscan/operators/video_stream_recorder/_video_stream_recorder.cpython-313-x86_64-linux-gnu.so +0 -0
  106. holoscan-3.5.0.data/purelib/holoscan/operators/video_stream_replayer/__init__.py +22 -0
  107. holoscan-3.5.0.data/purelib/holoscan/operators/video_stream_replayer/_video_stream_replayer.cpython-313-x86_64-linux-gnu.so +0 -0
  108. holoscan-3.5.0.data/purelib/holoscan/pose_tree/__init__.py +271 -0
  109. holoscan-3.5.0.data/purelib/holoscan/pose_tree/_pose_tree.cpython-313-x86_64-linux-gnu.so +0 -0
  110. holoscan-3.5.0.data/purelib/holoscan/resources/__init__.py +162 -0
  111. holoscan-3.5.0.data/purelib/holoscan/resources/_resources.cpython-313-x86_64-linux-gnu.so +0 -0
  112. holoscan-3.5.0.data/purelib/holoscan/schedulers/__init__.py +32 -0
  113. holoscan-3.5.0.data/purelib/holoscan/schedulers/_schedulers.cpython-313-x86_64-linux-gnu.so +0 -0
  114. holoscan-3.5.0.data/purelib/holoscan-3.5.0.pth +1 -0
  115. holoscan-3.5.0.dist-info/LICENSE.txt +202 -0
  116. holoscan-3.5.0.dist-info/METADATA +123 -0
  117. holoscan-3.5.0.dist-info/NOTICE.txt +187 -0
  118. holoscan-3.5.0.dist-info/NVIDIA-AI-PRODUCT-EULA.txt +243 -0
  119. holoscan-3.5.0.dist-info/README.md +35 -0
  120. holoscan-3.5.0.dist-info/RECORD +125 -0
  121. holoscan-3.5.0.dist-info/WHEEL +5 -0
  122. holoscan-3.5.0.dist-info/axle.lck +0 -0
  123. holoscan-3.5.0.dist-info/entry_points.txt +3 -0
  124. holoscan-3.5.0.dist-info/symlinks.txt +84 -0
  125. holoscan-3.5.0.dist-info/top_level.txt +2 -0
@@ -0,0 +1,32 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """This module provides a Python API for the C++ API Graph classes.
16
+
17
+ .. autosummary::
18
+
19
+ holoscan.graphs.FlowGraph
20
+ holoscan.graphs.FragmentFlowGraph
21
+ holoscan.graphs.OperatorFlowGraph
22
+ """
23
+
24
+ from ._graphs import FragmentFlowGraph, OperatorFlowGraph
25
+
26
+ FlowGraph = OperatorFlowGraph # provide alias for backwards compatibility
27
+
28
+ __all__ = [
29
+ "FlowGraph",
30
+ "FragmentFlowGraph",
31
+ "OperatorFlowGraph",
32
+ ]
@@ -0,0 +1,60 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """This module provides a Python API for GXF base classes in the C++ API.
16
+
17
+ .. autosummary::
18
+
19
+ holoscan.gxf.Entity
20
+ holoscan.gxf.GXFComponent
21
+ holoscan.gxf.GXFCondition
22
+ holoscan.gxf.GXFExecutionContext
23
+ holoscan.gxf.GXFInputContext
24
+ holoscan.gxf.GXFNetworkContext
25
+ holoscan.gxf.GXFOperator
26
+ holoscan.gxf.GXFOutputContext
27
+ holoscan.gxf.GXFResource
28
+ holoscan.gxf.GXFScheduler
29
+ holoscan.gxf.GXFSystemResourceBase
30
+ """
31
+
32
+ from ._gxf import ( # noqa: I001
33
+ GXFComponent,
34
+ GXFCondition,
35
+ GXFExecutionContext,
36
+ GXFInputContext,
37
+ GXFNetworkContext,
38
+ GXFOperator,
39
+ GXFOutputContext,
40
+ GXFResource,
41
+ GXFScheduler,
42
+ GXFSystemResourceBase,
43
+ load_extensions,
44
+ )
45
+ from ._gxf import PyEntity as Entity
46
+
47
+ __all__ = [
48
+ "Entity",
49
+ "GXFComponent",
50
+ "GXFCondition",
51
+ "GXFExecutionContext",
52
+ "GXFInputContext",
53
+ "GXFNetworkContext",
54
+ "GXFOperator",
55
+ "GXFOutputContext",
56
+ "GXFResource",
57
+ "GXFScheduler",
58
+ "GXFSystemResourceBase",
59
+ "load_extensions",
60
+ ]
@@ -0,0 +1,37 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """This module provides a Python interface to the Holoscan SDK logger.
16
+
17
+ .. autosummary::
18
+
19
+ holoscan.logger.LogLevel
20
+ holoscan.logger.log_level
21
+ holoscan.logger.set_log_level
22
+ holoscan.logger.set_log_pattern
23
+ """
24
+
25
+ from ._logger import (
26
+ LogLevel,
27
+ log_level,
28
+ set_log_level,
29
+ set_log_pattern,
30
+ )
31
+
32
+ __all__ = [
33
+ "LogLevel",
34
+ "log_level",
35
+ "set_log_level",
36
+ "set_log_pattern",
37
+ ]
@@ -0,0 +1,28 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """This module provides a Python API to underlying C++ API NetworkContexts.
16
+
17
+ .. autosummary::
18
+
19
+ holoscan.network_contexts.UcxContext
20
+ """
21
+
22
+ # Need to import UcxEntitySerializer before a UcxContext can be constructed
23
+ from ..resources import UcxEntitySerializer # noqa
24
+ from ._network_contexts import UcxContext
25
+
26
+ __all__ = ["UcxContext"]
27
+
28
+ del UcxEntitySerializer
@@ -0,0 +1,95 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """This module provides a Python API to underlying C++ API Operators.
16
+
17
+ .. autosummary::
18
+
19
+ holoscan.operators.BayerDemosaicOp
20
+ holoscan.operators.FormatConverterOp
21
+ holoscan.operators.GXFCodeletOp
22
+ holoscan.operators.HolovizOp
23
+ holoscan.operators.InferenceOp
24
+ holoscan.operators.InferenceProcessorOp
25
+ holoscan.operators.PingRxOp
26
+ holoscan.operators.PingTensorRxOp
27
+ holoscan.operators.PingTensorTxOp
28
+ holoscan.operators.PingTxOp
29
+ holoscan.operators.SegmentationPostprocessorOp
30
+ holoscan.operators.V4L2VideoCaptureOp
31
+ holoscan.operators.VideoStreamRecorderOp
32
+ holoscan.operators.VideoStreamReplayerOp
33
+ """
34
+
35
+ # Define operator modules and classes for lazy loading
36
+ _OPERATOR_MODULES = {
37
+ "bayer_demosaic": ["BayerDemosaicOp"],
38
+ "format_converter": ["FormatConverterOp"],
39
+ "gxf_codelet": ["GXFCodeletOp"],
40
+ "holoviz": ["HolovizOp"],
41
+ "inference": ["InferenceOp"],
42
+ "inference_processor": ["InferenceProcessorOp"],
43
+ "ping_rx": ["PingRxOp"],
44
+ "ping_tensor_rx": ["PingTensorRxOp"],
45
+ "ping_tensor_tx": ["PingTensorTxOp"],
46
+ "ping_tx": ["PingTxOp"],
47
+ "segmentation_postprocessor": ["SegmentationPostprocessorOp"],
48
+ "v4l2_video_capture": ["V4L2VideoCaptureOp"],
49
+ "video_stream_recorder": ["VideoStreamRecorderOp"],
50
+ "video_stream_replayer": ["VideoStreamReplayerOp"],
51
+ }
52
+ _OPERATORS = [item for sublist in _OPERATOR_MODULES.values() for item in sublist]
53
+ _LOADED_OPERATORS = {}
54
+ # expose both operator modules and operator classes for backward compatibility
55
+ __all__ = list(_OPERATOR_MODULES.keys()) + _OPERATORS
56
+
57
+
58
+ # Autocomplete
59
+ def __dir__():
60
+ return __all__
61
+
62
+
63
+ # Lazily load modules and classes
64
+ def __getattr__(attr):
65
+ # Get submodule, import if needed
66
+ def getsubmodule(name):
67
+ import importlib
68
+ import sys
69
+
70
+ module_name = f"{__name__}.{name}"
71
+ if module_name in sys.modules: # cached
72
+ module = sys.modules[module_name]
73
+ else:
74
+ module = importlib.import_module(module_name) # import
75
+ sys.modules[module_name] = module # cache
76
+ return module
77
+
78
+ # Return submodule
79
+ if attr in _OPERATOR_MODULES:
80
+ return getsubmodule(attr)
81
+
82
+ # Return cached operator class
83
+ if attr in _LOADED_OPERATORS:
84
+ return _LOADED_OPERATORS[attr]
85
+
86
+ # Get new operator class
87
+ if attr in _OPERATORS:
88
+ # Search for submodule that holds it
89
+ for module_name, values in _OPERATOR_MODULES.items():
90
+ if attr in values:
91
+ operator = getattr(getsubmodule(module_name), attr) # retrieve from submodule
92
+ _LOADED_OPERATORS[attr] = operator # cache
93
+ return operator
94
+
95
+ raise AttributeError(f"module {__name__} has no attribute {attr}")
@@ -0,0 +1,24 @@
1
+ """
2
+ SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ """ # noqa: E501
17
+
18
+ import holoscan.core # noqa: F401
19
+ import holoscan.gxf # noqa: F401
20
+ from holoscan.resources import Allocator, CudaStreamPool # noqa: F401
21
+
22
+ from ._bayer_demosaic import BayerDemosaicOp
23
+
24
+ __all__ = ["BayerDemosaicOp"]
@@ -0,0 +1,23 @@
1
+ """
2
+ SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ """ # noqa: E501
17
+
18
+ import holoscan.core # noqa: F401
19
+ from holoscan.resources import Allocator, CudaStreamPool # noqa: F401
20
+
21
+ from ._format_converter import FormatConverterOp
22
+
23
+ __all__ = ["FormatConverterOp"]
@@ -0,0 +1,67 @@
1
+ """
2
+ SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ """ # noqa: E501
17
+
18
+ import holoscan.core # noqa: F401
19
+ import holoscan.gxf # noqa: F401
20
+ from holoscan.core import OperatorSpec, _Fragment
21
+
22
+ from ._gxf_codelet import GXFCodeletOp as _GXFCodeletOp
23
+
24
+ __all__ = ["GXFCodeletOp"]
25
+
26
+
27
+ class GXFCodeletOp(_GXFCodeletOp):
28
+ def __setattr__(self, name, value):
29
+ readonly_attributes = [
30
+ "fragment",
31
+ "gxf_typename",
32
+ "conditions",
33
+ "resources",
34
+ "operator_type",
35
+ "description",
36
+ ]
37
+ if name in readonly_attributes:
38
+ raise AttributeError(f'cannot override read-only property "{name}"')
39
+ super().__setattr__(name, value)
40
+
41
+ def __init__(self, fragment, *args, **kwargs):
42
+ if not isinstance(fragment, _Fragment):
43
+ raise ValueError(
44
+ "The first argument to an Operator's constructor must be the Fragment "
45
+ "(Application) to which it belongs."
46
+ )
47
+ # It is recommended to not use super()
48
+ # (https://pybind11.readthedocs.io/en/stable/advanced/classes.html#overriding-virtual-functions-in-python)
49
+ _GXFCodeletOp.__init__(self, self, fragment, *args, **kwargs)
50
+ # Create a PyOperatorSpec object and pass it to the C++ API
51
+ spec = OperatorSpec(fragment=self.fragment, op=self)
52
+ self.spec = spec
53
+ # Call setup method in the derived class
54
+ self.setup(spec)
55
+
56
+ def setup(self, spec: OperatorSpec):
57
+ # This method is invoked by the derived class to set up the operator.
58
+ super().setup(spec)
59
+
60
+ def initialize(self):
61
+ # Place holder for initialize method
62
+ pass
63
+
64
+
65
+ # copy docstrings defined in pydoc.hpp
66
+ GXFCodeletOp.__doc__ = _GXFCodeletOp.__doc__
67
+ GXFCodeletOp.__init__.__doc__ = _GXFCodeletOp.__init__.__doc__