transforms_io 0.1.0

IO layer for the transforms crate with ROS2 and Minot.
Documentation
[package]
name = "transforms_io"
version = "0.1.0"
edition = "2024"
license = "MIT OR Apache-2.0"
description = "IO layer for the transforms crate with ROS2 and Minot."
repository = "https://codeberg.org/stelzo/transforms_io"
readme = "README.md"
keywords = ["ros2", "tf2", "transforms", "robotics"]
categories = ["science::robotics"]
authors = ["Christopher Sieh <stelzo@steado.de>"]
documentation = "https://docs.rs/transforms_io"
rust-version = "1.85"
exclude = [
  "**/.github/**",
  "**/.forgejo/**",
  "**/tests/**",
  "**/benches/**",
  "**/target/**",
  "**/build/**",
  "**/dist/**",
  "**/docs/**",
  "**/venv/**",
  "**/vscode/**",
]

[dependencies]
transforms = "1.4"
thiserror = "1.0"
log = "0.4"
nalgebra = "0.33"

# Optional backend dependencies
r2r = { version = "0.9.5", optional = true }
ros2-client = { version = "0.7", optional = true }
ros2-interfaces-jazzy-serde = { version = "0.0.4", optional = true, features = [
  "std_msgs",
  "geometry_msgs",
  "tf2_msgs",
] }
ros2-interfaces-jazzy-rkyv = { version = "0.0.5", optional = true, features = [
  "std_msgs",
  "geometry_msgs",
  "tf2_msgs",
] }
mt_pubsub = { version = "0.7", optional = true, package = "mt_pubsub" }
tokio = { version = "1.0", optional = true, features = ["rt-multi-thread"] }
futures = { version = "0.3", optional = true }
futures-lite = { version = "2.0", optional = true }

[features]
default = []

# Backend features
# r2r with futures-lite (default for threaded blocking)
r2r = ["dep:r2r", "dep:futures-lite"]
# r2r with generic futures (for custom async runtimes)
r2r-async = ["dep:r2r", "dep:futures"]

ros2-client = ["dep:ros2-client", "dep:ros2-interfaces-jazzy-serde"]
ros2-client-async = [
  "dep:ros2-client",
  "dep:ros2-interfaces-jazzy-serde",
  "dep:futures",
]

mt-pubsub = [
  "dep:mt_pubsub",
  "dep:ros2-interfaces-jazzy-rkyv",
  "dep:tokio",
  "dep:futures-lite",
]