API Reference ============= Version: |release| foxglove -------- .. automodule:: foxglove :members: :exclude-members: Capability, MCAPWriter, ParameterType, ParameterValue, StatusLevel, init_notebook_buffer Message Types ^^^^^^^^^^^^^ .. toctree:: :maxdepth: 1 ./messages Channels ^^^^^^^^ .. toctree:: :maxdepth: 1 ./channels Parameters ^^^^^^^^^^ Used with the parameter service. Requires the ``Capability.Parameters`` capability. .. autoclass:: foxglove.ParameterType .. py:data:: ByteArray A byte array. .. py:data:: Float64 A floating-point value that can be represented as a 64-bit floating point number. .. py:data:: Float64Array An array of floating-point values that can be represented as 64-bit floating point numbers. .. autoclass:: foxglove.ParameterValue .. py:class:: Float64(value: float) A floating-point value. .. py:class:: Integer(value: int) An integer value. .. py:class:: Bool(value: bool) A boolean value. .. py:class:: String(value: str) A string value. For parameters of type :py:attr:`ParameterType.ByteArray`, this is a base64 encoding of the byte array. .. py:class:: Array(value: list[ParameterValue]) An array of parameter values. .. py:class:: Dict(value: dict[str, ParameterValue]) An associative map of parameter values. Asset handling ^^^^^^^^^^^^^^ You can provide an optional :py:class:`AssetHandler` to :py:func:`start_server` to serve assets such as URDFs for live visualization. The asset handler is a :py:class:`Callable` that returns the asset for a given URI, or None if it doesn't exist. Foxglove assets will be requested with the `package://` scheme. See https://docs.foxglove.dev/docs/visualization/panels/3d#resolution-of-urdf-assets-with-package-urls This handler will be run on a separate thread; a typical implementation will load the asset from disk and return its contents. See the Asset Server example for more information. .. autoclass:: foxglove.AssetHandler .. py:class:: MCAPCompression Deprecated. Use :py:class:`mcap.MCAPCompression` instead. Enums ^^^^^ .. py:enum:: StatusLevel A status message severity level. .. py:data:: Info .. py:data:: Warning .. py:data:: Error foxglove.mcap ------------------ .. Enums are excluded and manually documented, since pyo3 only emulates them. (https://github.com/PyO3/pyo3/issues/2887) .. Parameter types and values are manually documented since nested classes (values) are not supported by automodule. .. automodule:: foxglove.mcap :members: :exclude-members: MCAPCompression .. py:enum:: MCAPCompression .. py:data:: Zstd .. py:data:: Lz4 foxglove.remote_access ---------------------- .. Enums are excluded and manually documented, since pyo3 only emulates them. (https://github.com/PyO3/pyo3/issues/2887) .. automodule:: foxglove.remote_access :members: :exclude-members: Capability, RemoteAccessConnectionStatus, VideoEncoderBackend, MessageSchema, Parameter, ParameterType, ParameterValue, Service, ServiceRequest, ServiceSchema, StatusLevel Enums ^^^^^ .. py:enum:: Capability An enumeration of capabilities that the remote access gateway can advertise to its clients. Specify the capabilities you support when calling :py:func:`foxglove.start_gateway`. .. py:data:: ClientPublish Allow clients to advertise channels to send data messages to the server. .. py:data:: ConnectionGraph Allow clients to subscribe to connection graph updates. .. py:data:: Parameters Allow clients to get, set, and subscribe to parameter updates. .. py:data:: Services Allow clients to call services. .. py:enum:: RemoteAccessConnectionStatus The status of the remote access gateway connection. .. py:data:: Connecting The gateway is attempting to establish or re-establish a connection. .. py:data:: Connected The gateway is connected and handling events. .. py:data:: ShuttingDown The gateway is shutting down. Listener callbacks may still be in progress. .. py:data:: Shutdown The gateway has been shut down. No further listener callbacks will be invoked. .. py:enum:: VideoEncoderBackend The preferred backend for encoding published video tracks. This is a gateway-wide preference applied to every published video track. If the requested backend is unavailable on the host, the SDK falls back to another compatible encoder. .. py:data:: Auto Let the SDK choose the encoder backend (honoring ``FOXGLOVE_VIDEO_ENCODER``). The default. .. py:data:: Software Prefer a software encoder. .. py:data:: Hardware Prefer any available hardware encoder. .. py:data:: Nvenc Prefer NVIDIA NVENC when available. .. py:data:: Vaapi Prefer VAAPI when available. .. py:data:: VideoToolbox Prefer VideoToolbox on Apple platforms when available. foxglove.websocket ------------------ .. Enums are excluded and manually documented, since pyo3 only emulates them. (https://github.com/PyO3/pyo3/issues/2887) .. automodule:: foxglove.websocket :members: :exclude-members: Capability, MessageSchema, Parameter, ParameterType, ParameterValue, Service, ServiceRequest, ServiceSchema, StatusLevel, PlaybackCommand, PlaybackStatus Enums ^^^^^ .. py:enum:: Capability An enumeration of capabilities that you may choose to support for live visualization. Specify the capabilities you support when calling :py:func:`foxglove.start_server`. These will be advertised to the Foxglove app when connected as a WebSocket client. .. py:data:: ClientPublish Allow clients to advertise channels to send data messages to the server. .. py:data:: ConnectionGraph Allow clients to subscribe to connection graph updates. .. py:data:: Parameters Allow clients to get & set parameters. .. py:data:: Services Allow clients to call services. .. py:data:: Time Inform clients about the latest server time. This allows accelerated, slowed, or stepped control over the progress of time. If the server publishes time data, then timestamps of published messages must originate from the same time source. .. py:data:: PlaybackControl Indicates that the server is capable of responding to playback control requests from controls in the Foxglove app. Playback control ^^^^^^^^^^^^^^^^ Used with the playback control feature during live visualization. Requires the :py:data:`Capability.PlaybackControl` capability. .. py:enum:: PlaybackCommand The command for playback requested by the client player. .. py:data:: Play Start or continue playback. .. py:data:: Pause Pause playback. .. py:enum:: PlaybackStatus The status of server data playback. .. py:data:: Playing Playing at the requested playback speed. .. py:data:: Paused Playback paused. .. py:data:: Buffering Server is not yet playing back data because it is performing a prerequisite required operation. .. py:data:: Ended The end of the available data has been reached.