53 lines
2.1 KiB
TOML
53 lines
2.1 KiB
TOML
[package]
|
|
name = "flowrs-ml"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
rust-version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
description = "TinyML for FlowRS: a small serde model schema + a dependency-free f32 inference runtime that runs in the browser, on a host, or (no_std-ready) on an MCU — the Edge Impulse 'deploy a model' idea, in pure Rust."
|
|
|
|
[lib]
|
|
crate-type = ["rlib"]
|
|
|
|
[dependencies]
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
# no_std transcendental math — used by BOTH the runtime and the generated MCU
|
|
# code, so a deployed model matches the reference runtime exactly (not just close).
|
|
libm = "0.2"
|
|
# ONNX execution. Optional, and off unless the `onnx` feature is on: the encoder and
|
|
# the f32 runtime stay free of an inference engine so the browser bundle and the MCU
|
|
# build do not pay for one. `getrandom-js` is what lets tract compile to wasm32, the
|
|
# same reason flowrs-core's own ONNX feature enables it.
|
|
tract-onnx = { version = "0.23.9", features = ["getrandom-js"], optional = true }
|
|
|
|
[features]
|
|
default = []
|
|
# Load an ONNX file and run it. The bytes may be this crate's own [`to_onnx`] export
|
|
# or any other model tract can execute.
|
|
onnx = ["dep:tract-onnx"]
|
|
|
|
[dev-dependencies]
|
|
|
|
# Symposium (`cargo agents`): an agent working on a project that depends on this crate gets
|
|
# the flowRS skill (crates/flowrs-mcp/symposium/flowrs, rendered by flowrs-mcp's
|
|
# skills::symposium_plugin) and the flowRS MCP server under the read-only plan profile. Never
|
|
# the full profile: a dependency is not a trust root, and Symposium registers servers at user
|
|
# level. Symposium 0.5.1 parses a crate's MCP entry but does not dispatch it yet; a registry
|
|
# carrying symposium/flowrs/SYMPOSIUM.toml registers the same entry today.
|
|
[package.metadata.symposium]
|
|
|
|
[package.metadata.symposium.defaults]
|
|
skills = false
|
|
|
|
[[package.metadata.symposium.skills]]
|
|
source.path = "../flowrs-mcp/symposium/flowrs/skills/core"
|
|
|
|
[[package.metadata.symposium.mcp_servers]]
|
|
name = "flowrs"
|
|
command = "flowrs-mcp"
|
|
args = ["--profile", "plan"]
|
|
env = []
|