[package]
edition = "2021"
rust-version = "1.85"
name = "tenshift-core"
version = "0.1.3"
authors = ["Santh <64453045+santhreal@users.noreply.github.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Thread-safe, backpressure-aware data loading pipeline for iterative processing"
homepage = "https://santh.dev"
documentation = "https://docs.rs/tenshift-core"
readme = "README.md"
keywords = [
"ml",
"data-loading",
"pipeline",
"parallel",
"zero-copy",
]
categories = [
"science",
"concurrency",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/santhreal/tenshift"
[package.metadata.santh]
status = "beta"
[features]
arrow = []
csv = ["dep:csv"]
default = []
image = []
parquet = []
uring = ["dep:wireshift"]
[lib]
name = "tenshift_core"
path = "src/lib.rs"
[[example]]
name = "benchmark"
path = "examples/benchmark.rs"
[[test]]
name = "adversarial"
path = "tests/adversarial/mod.rs"
[[test]]
name = "adversarial_adversarial_backpressure"
path = "tests/adversarial/adversarial_backpressure.rs"
[[test]]
name = "adversarial_adversarial_cascade"
path = "tests/adversarial/adversarial_cascade.rs"
[[test]]
name = "adversarial_adversarial_collation"
path = "tests/adversarial/adversarial_collation.rs"
[[test]]
name = "adversarial_adversarial_csv"
path = "tests/adversarial/adversarial_csv.rs"
[[test]]
name = "adversarial_adversarial_engine_stress"
path = "tests/adversarial/adversarial_engine_stress.rs"
[[test]]
name = "adversarial_adversarial_pipeline"
path = "tests/adversarial/adversarial_pipeline.rs"
[[test]]
name = "adversarial_adversarial_prefetch_adaptive"
path = "tests/adversarial/adversarial_prefetch_adaptive.rs"
[[test]]
name = "adversarial_adversarial_ringsource"
path = "tests/adversarial/adversarial_ringsource.rs"
[[test]]
name = "adversarial_adversarial_sampler"
path = "tests/adversarial/adversarial_sampler.rs"
[[test]]
name = "adversarial_adversarial_shutdown"
path = "tests/adversarial/adversarial_shutdown.rs"
[[test]]
name = "adversarial_adversarial_wave10_pipeline_drop_cleanup"
path = "tests/adversarial/adversarial_wave10_pipeline_drop_cleanup.rs"
[[test]]
name = "adversarial_adversarial_wave11_invalid_config"
path = "tests/adversarial/adversarial_wave11_invalid_config.rs"
[[test]]
name = "adversarial_adversarial_wave14_consumer_panic"
path = "tests/adversarial/adversarial_wave14_consumer_panic.rs"
[[test]]
name = "adversarial_adversarial_wave18_panic_drop"
path = "tests/adversarial/adversarial_wave18_panic_drop.rs"
[[test]]
name = "adversarial_adversarial_wave20_ghost_source_starvation"
path = "tests/adversarial/adversarial_wave20_ghost_source_starvation.rs"
[[test]]
name = "adversarial_adversarial_wave24_epoch_rollover"
path = "tests/adversarial/adversarial_wave24_epoch_rollover.rs"
[[test]]
name = "adversarial_adversarial_wave29_sequence_gap"
path = "tests/adversarial/adversarial_wave29_sequence_gap.rs"
[[test]]
name = "adversarial_adversarial_wave30_iterator_drop_deadlock"
path = "tests/adversarial/adversarial_wave30_iterator_drop_deadlock.rs"
[[test]]
name = "adversarial_adversarial_wave31_deadlock_backpressure"
path = "tests/adversarial/adversarial_wave31_deadlock_backpressure.rs"
[[test]]
name = "adversarial_adversarial_wave32_early_drop"
path = "tests/adversarial/adversarial_wave32_early_drop.rs"
[[test]]
name = "adversarial_adversarial_wave6_toxic_payload"
path = "tests/adversarial/adversarial_wave6_toxic_payload.rs"
[[test]]
name = "adversarial_adversarial_wave7_thread_starvation"
path = "tests/adversarial/adversarial_wave7_thread_starvation.rs"
[[test]]
name = "adversarial_adversarial_wave9_channel_abort"
path = "tests/adversarial/adversarial_wave9_channel_abort.rs"
[[test]]
name = "adversarial_adversarial_workers_test"
path = "tests/adversarial/adversarial_workers_test.rs"
[[test]]
name = "integration"
path = "tests/integration/mod.rs"
[[test]]
name = "pipeline_fatal_error_regression"
path = "tests/pipeline_fatal_error_regression.rs"
[[test]]
name = "property"
path = "tests/property/mod.rs"
[[test]]
name = "property_proptest_pipeline"
path = "tests/property/proptest_pipeline.rs"
[[test]]
name = "shard_s_perf_pmg_edge"
path = "tests/shard_s_perf_pmg_edge.rs"
[[test]]
name = "unit"
path = "tests/unit/mod.rs"
[[test]]
name = "unit_depth"
path = "tests/unit/depth.rs"
[[test]]
name = "unit_fdt_exhaustion"
path = "tests/unit/fdt_exhaustion.rs"
[[test]]
name = "unit_loom_tests"
path = "tests/unit/loom_tests.rs"
[[test]]
name = "unit_miri_tests"
path = "tests/unit/miri_tests.rs"
[[test]]
name = "unit_pipeline_tests"
path = "tests/unit/pipeline_tests.rs"
[[test]]
name = "unit_sqlite_eagain"
path = "tests/unit/sqlite_eagain.rs"
[[test]]
name = "unit_sqlite_fdt"
path = "tests/unit/sqlite_fdt.rs"
[[test]]
name = "unit_sqlite_partial_read"
path = "tests/unit/sqlite_partial_read.rs"
[[test]]
name = "unit_sqlite_thread_contention"
path = "tests/unit/sqlite_thread_contention.rs"
[[test]]
name = "unit_test_depth_phase6"
path = "tests/unit/test_depth_phase6.rs"
[[test]]
name = "unit_test_leak_and_lifecycle"
path = "tests/unit/test_leak_and_lifecycle.rs"
[[test]]
name = "unit_x_pipeline_starvation"
path = "tests/unit/x_pipeline_starvation.rs"
[[test]]
name = "unit_x_tensor_memory_strides"
path = "tests/unit/x_tensor_memory_strides.rs"
[[bench]]
name = "benchmarks"
path = "benches/benchmarks.rs"
[[bench]]
name = "pipeline"
path = "benches/pipeline.rs"
harness = false
[dependencies.core_affinity]
version = "=0.8.3"
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.csv]
version = "1"
optional = true
[dependencies.glob]
version = "0.3"
[dependencies.serde_json]
version = "1"
features = ["raw_value"]
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "=1.52.3"
features = [
"rt",
"macros",
"time",
"rt-multi-thread",
]
[dependencies.tracing]
version = "0.1"
[dependencies.wireshift]
version = "0.1"
optional = true
[dev-dependencies.criterion]
version = "=0.5.1"
features = ["html_reports"]
[dev-dependencies.loom]
version = "=0.7.2"
[dev-dependencies.proptest]
version = "=1.9.0"
[dev-dependencies.tempfile]
version = "3"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(loom)"]