flowmatch 0.1.4

Flow matching primitives (ndarray-first; backend-agnostic) with semidiscrete FM and RFM experiments.
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 = "2021"
rust-version = "1.80"
name = "flowmatch"
version = "0.1.4"
authors = ["Arc <attobop@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Flow matching primitives (ndarray-first; backend-agnostic) with semidiscrete FM and RFM experiments."
homepage = "https://github.com/arclabs561/flowmatch"
documentation = "https://docs.rs/flowmatch"
readme = "README.md"
keywords = [
    "flow-matching",
    "diffusion",
    "ot",
    "generative-modeling",
]
categories = [
    "science",
    "mathematics",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/arclabs561/flowmatch"

[features]
burn = [
    "dep:burn-core",
    "dep:burn-autodiff",
    "dep:burn-ndarray",
    "dep:burn-nn",
    "dep:burn-optim",
]
default = []
riemannian = ["dep:skel"]
sheaf-evals = ["dep:sheaf"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[[example]]
name = "rfm_usgs_earthquakes_cluster_mass"
path = "examples/rfm_usgs_earthquakes_cluster_mass.rs"
required-features = ["sheaf-evals"]

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

[[example]]
name = "rfm_usgs_full_pipeline_report"
path = "examples/rfm_usgs_full_pipeline_report.rs"
required-features = ["sheaf-evals"]

[[example]]
name = "rfm_usgs_knn_leiden"
path = "examples/rfm_usgs_knn_leiden.rs"
required-features = ["sheaf-evals"]

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

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

[[example]]
name = "riemannian_fm_poincare"
path = "examples/riemannian_fm_poincare.rs"
required-features = ["riemannian"]

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

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

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

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

[[test]]
name = "rfm_usgs_cluster_mass_e2e"
path = "tests/rfm_usgs_cluster_mass_e2e.rs"
required-features = ["sheaf-evals"]

[[test]]
name = "rfm_usgs_leiden_exact_knn_e2e"
path = "tests/rfm_usgs_leiden_exact_knn_e2e.rs"
required-features = ["sheaf-evals"]

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

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

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

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

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

[[bench]]
name = "pairing"
path = "benches/pairing.rs"
harness = false

[[bench]]
name = "realdata_torsions"
path = "benches/realdata_torsions.rs"
harness = false

[[bench]]
name = "realdata_usgs"
path = "benches/realdata_usgs.rs"
harness = false
required-features = ["sheaf-evals"]

[dependencies.burn-autodiff]
version = "0.20.0"
features = ["std"]
optional = true
default-features = false

[dependencies.burn-core]
version = "0.20.0"
features = ["std"]
optional = true
default-features = false

[dependencies.burn-ndarray]
version = "0.20.0"
optional = true
default-features = true

[dependencies.burn-nn]
version = "0.20.0"
features = ["std"]
optional = true
default-features = false

[dependencies.burn-optim]
version = "0.20.0"
features = ["std"]
optional = true
default-features = false

[dependencies.logp]
version = "0.1.4"

[dependencies.ndarray]
version = "0.16"

[dependencies.rand]
version = "0.9"

[dependencies.rand_chacha]
version = "0.9"

[dependencies.rand_distr]
version = "0.5"

[dependencies.sheaf]
version = "0.1.4"
features = [
    "cluster",
    "community",
    "knn-graph",
    "metrics",
    "wass",
]
optional = true
default-features = false

[dependencies.skel]
version = "0.1"
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.wass]
version = "0.1.4"

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.hyperball]
version = "0.1"

[dev-dependencies.petgraph]
version = "0.6"

[dev-dependencies.proptest]
version = "1.5"

[dev-dependencies.rkhs]
version = "0.1"