duroxide 0.1.1

Deterministic task orchestration framework for Rust - inspired by Durable Task Framework
Documentation
[dependencies.async-trait]
version = "0.1"

[dependencies.futures]
version = "0.3"

[dependencies.libsqlite3-sys]
features = ["bundled"]
version = "0.28"

[dependencies.opentelemetry]
optional = true
version = "0.27"

[dependencies.opentelemetry-otlp]
features = ["grpc-tonic"]
optional = true
version = "0.27"

[dependencies.opentelemetry_sdk]
features = ["rt-tokio"]
optional = true
version = "0.27"

[dependencies.semver]
version = "1"

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

[dependencies.serde_json]
version = "1"

[dependencies.sqlx]
features = ["runtime-tokio-rustls", "sqlite", "macros", "migrate", "chrono"]
version = "0.8"

[dependencies.tokio]
features = ["full"]
version = "1"

[dependencies.tracing]
features = ["std"]
version = "0.1"

[dependencies.tracing-subscriber]
features = ["fmt", "env-filter", "json"]
version = "0.3"

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

[dev-dependencies.tempfile]
version = "3"

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

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

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

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

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

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

[features]
default = []
observability = ["opentelemetry", "opentelemetry_sdk", "opentelemetry-otlp"]
provider-test = []
test = ["provider-test"]

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

[lints.clippy]
clone_on_ref_ptr = "warn"
expect_used = "warn"
large_enum_variant = "warn"
missing_errors_doc = "warn"
unwrap_used = "warn"

[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["asynchronous", "concurrency"]
description = "Deterministic task orchestration framework for Rust - inspired by Durable Task Framework"
documentation = "https://docs.rs/duroxide"
edition = "2024"
homepage = "https://github.com/affandar/duroxide"
keywords = ["durable", "workflow", "orchestration", "async", "tasks"]
license = "MIT"
name = "duroxide"
readme = "README.md"
repository = "https://github.com/affandar/duroxide"
version = "0.1.1"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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