factrs 0.3.0

Factor graph optimization for robotics
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.87"
name = "factrs"
version = "0.3.0"
authors = [
    "Easton Potokar",
    "Taylor Pool",
]
build = false
exclude = ["examples/data/*"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Factor graph optimization for robotics"
readme = "README.md"
keywords = [
    "nonlinear",
    "optimization",
    "robotics",
    "estimation",
    "SLAM",
]
categories = [
    "science::robotics",
    "mathematics",
]
license = "MIT"
repository = "https://github.com/rpl-cmu/factrs"

[package.metadata.docs.rs]
features = [
    "serde",
    "rerun",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
    "--html-in-header",
    "assets/katex-header.html",
]
cargo-args = [
    "-Zunstable-options",
    "-Zrustdoc-scrape-examples",
]

[features]
f32 = []
fake_exp = []
left = []
rayon = ["faer/rayon"]
rerun = ["dep:rerun"]
serde = [
    "dep:serde",
    "dep:factrs-typetag",
    "factrs-proc/serde",
    "nalgebra/serde-serialize",
    "indexmap/serde",
]

[lib]
name = "factrs"
path = "src/lib.rs"

[[example]]
name = "g2o"
path = "examples/g2o.rs"

[[example]]
name = "gps"
path = "examples/gps.rs"

[[example]]
name = "graph_viz"
path = "examples/graph_viz.rs"

[[example]]
name = "readme"
path = "examples/readme.rs"

[[example]]
name = "serde"
path = "examples/serde.rs"
doc-scrape-examples = true
required-features = ["serde"]

[[test]]
name = "custom_key"
path = "tests/custom_key.rs"

[[test]]
name = "custom_noise"
path = "tests/custom_noise.rs"

[[test]]
name = "custom_residual"
path = "tests/custom_residual.rs"

[[test]]
name = "custom_robust"
path = "tests/custom_robust.rs"

[[test]]
name = "custom_variable"
path = "tests/custom_variable.rs"

[[test]]
name = "serde"
path = "tests/serde.rs"

[dependencies.downcast-rs]
version = "2.0.1"

[dependencies.dyn-clone]
version = "1.0.17"

[dependencies.factrs-proc]
version = "0.3.0"

[dependencies.factrs-typetag]
version = "0.2.0"
optional = true

[dependencies.faer]
version = "0.23.2"
features = [
    "std",
    "sparse-linalg",
    "npy",
]
default-features = false

[dependencies.faer-ext]
version = "0.7.1"
features = ["nalgebra"]

[dependencies.foldhash]
version = "0.2.0"

[dependencies.indexmap]
version = "2.9.0"
default-features = false

[dependencies.log]
version = "0.4.22"

[dependencies.matrixcompare]
version = "0.3.0"

[dependencies.nalgebra]
version = "0.34.1"
features = ["compare"]

[dependencies.num-dual]
version = "0.13.1"

[dependencies.pad-adapter]
version = "0.1.1"

[dependencies.paste]
version = "1.0.15"

[dependencies.rerun]
version = "0.28.1"
features = ["sdk"]
optional = true
default-features = false

[dependencies.serde]
version = "1.0.217"
optional = true

[dependencies.simba]
version = "0.9.0"
default-features = false

[dependencies.statrs]
version = "0.18.0"
default-features = false

[dev-dependencies.matrixcompare]
version = "0.3.0"

[dev-dependencies.nalgebra]
version = "0.34.1"
features = ["compare"]

[dev-dependencies.pretty_env_logger]
version = "0.5.0"

[dev-dependencies.serde_json]
version = "1.0.135"

[profile.bench]
lto = true

[profile.dev.package.faer]
opt-level = 3

[profile.profile]
debug = 2
inherits = "bench"