hyphae 1.3.3

Reactive cells and runtime primitives for rship
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"
name = "hyphae"
version = "1.3.3"
authors = ["Trevor"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reactive cells and runtime primitives for rship"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ignition-is-go/hyphae"
resolver = "2"

[package.metadata.flux]
tasks = [
    "fmt",
    "check",
    "check-wasm",
    "check-wasm-features",
    "build",
    "test",
    "lint",
    "publish",
]

[features]
async = [
    "flume",
    "futures-core",
]
default = []
inspector = [
    "serde",
    "serde_json",
    "tokio",
    "uuid/serde",
]
metrics = []
profiling = [
    "trace",
    "dep:tracing",
]
scheduler = []
trace = ["metrics"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[[bench]]
name = "scheduler_contention"
path = "benches/scheduler_contention.rs"
harness = false
required-features = ["scheduler"]

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

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

[dependencies.anyhow]
version = "1"

[dependencies.arc-swap]
version = "1.7.1"

[dependencies.crossbeam]
version = "0.8"

[dependencies.dashmap]
version = "6.1.0"

[dependencies.flume]
version = "0.11"
optional = true

[dependencies.futures-core]
version = "0.3"
optional = true

[dependencies.log]
version = "0.4"

[dependencies.parking_lot]
version = "0.12"

[dependencies.rustc-hash]
version = "2.1"

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
optional = true

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

[dependencies.uuid]
version = "1.19.0"
features = ["v4"]

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

[dev-dependencies.seq-macro]
version = "0.3"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rayon]
version = "1.10"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.spin_sleep]
version = "1"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1"
features = [
    "net",
    "io-util",
    "rt",
    "time",
    "sync",
    "macros",
]
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.3"
features = ["wasm_js"]

[target.'cfg(target_arch = "wasm32")'.dependencies.gloo-timers]
version = "0.3"
features = ["futures"]

[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1"
features = ["js"]

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"

[target.'cfg(target_arch = "wasm32")'.dependencies.web-time]
version = "1"

[lints.clippy]
disallowed_types = "deny"
type_complexity = "allow"