[package]
edition = "2021"
rust-version = "1.75"
name = "ringkernel-ecosystem"
version = "0.4.2"
authors = ["Michael Ivertowski <mivertowski@outlook.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ecosystem integrations for RingKernel - actors, web frameworks, data processing, ML"
homepage = "https://github.com/mivertowski/RustCompute"
readme = "README.md"
keywords = [
"gpu",
"actor",
"integration",
"axum",
"tower",
]
categories = [
"concurrency",
"asynchronous",
"web-programming",
]
license = "Apache-2.0"
repository = "https://github.com/mivertowski/RustCompute"
[features]
actix = [
"dep:actix",
"dep:actix-rt",
]
arrow = ["dep:arrow"]
axum = [
"dep:axum",
"tower",
]
axum-sse = [
"axum",
"dep:async-stream",
"dep:serde_json",
"persistent",
]
axum-ws = [
"axum",
"dep:serde_json",
"persistent",
]
candle = ["dep:candle-core"]
config = ["dep:config"]
data = [
"arrow",
"polars",
]
default = []
enterprise = ["dep:serde_json"]
full = [
"actix",
"tower",
"axum",
"arrow",
"polars",
"grpc",
"candle",
"config",
"tracing-integration",
"prometheus",
"persistent",
"enterprise",
]
graphql = [
"dep:async-graphql",
"dep:async-graphql-axum",
"dep:async-stream",
"dep:serde_json",
"persistent",
]
grpc = [
"dep:tonic",
"dep:prost",
"dep:async-stream",
]
ml-bridge = []
monitoring = [
"tracing-integration",
"prometheus",
]
persistent = ["dep:async-stream"]
persistent-cuda = [
"persistent",
"dep:ringkernel-cuda",
]
persistent-full = [
"persistent-cuda",
"persistent-wgpu",
"actix",
"axum",
"axum-ws",
"axum-sse",
"grpc",
]
persistent-wgpu = [
"persistent",
"dep:ringkernel-wgpu",
]
polars = ["dep:polars"]
prometheus = ["dep:prometheus"]
tower = [
"dep:tower",
"dep:tower-service",
]
tracing-integration = []
web = [
"axum",
"tower",
"grpc",
]
[lib]
name = "ringkernel_ecosystem"
path = "src/lib.rs"
[[example]]
name = "axum_persistent_api"
path = "examples/axum_persistent_api.rs"
required-features = [
"persistent",
"axum",
"axum-sse",
]
[dependencies.actix]
version = "0.13"
optional = true
[dependencies.actix-rt]
version = "2.10"
optional = true
[dependencies.arrow]
version = "54"
optional = true
[dependencies.async-graphql]
version = "7.0"
features = ["tracing"]
optional = true
[dependencies.async-graphql-axum]
version = "7.0"
optional = true
[dependencies.async-stream]
version = "0.3"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
features = ["ws"]
optional = true
[dependencies.candle-core]
version = "0.4"
optional = true
[dependencies.config]
version = "0.14"
features = ["toml"]
optional = true
default-features = false
[dependencies.futures]
version = "0.3"
[dependencies.parking_lot]
version = "0.12"
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.polars]
version = "0.46"
features = ["lazy"]
optional = true
default-features = false
[dependencies.prometheus]
version = "0.14"
optional = true
default-features = false
[dependencies.prost]
version = "0.14"
optional = true
[dependencies.ringkernel-core]
version = "0.4.2"
[dependencies.ringkernel-cuda]
version = "0.4.2"
features = ["cuda"]
optional = true
[dependencies.ringkernel-wgpu]
version = "0.4.2"
features = ["wgpu"]
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.48"
features = ["full"]
[dependencies.tonic]
version = "0.14"
optional = true
[dependencies.tower]
version = "0.5"
optional = true
[dependencies.tower-service]
version = "0.3"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1.6"
features = [
"v4",
"fast-rng",
]
[dev-dependencies.tokio]
version = "1.48"
features = [
"full",
"rt-multi-thread",
"macros",
]