[package]
name = "vector-ta"
version = "0.1.9"
edition = "2021"
description = "High-performance technical analysis indicators with optional SIMD/CUDA and language bindings."
license = "Apache-2.0"
readme = "README.md"
autobins = false
homepage = "https://vectoralpha.dev/projects/ta"
documentation = "https://vectoralpha.dev/projects/ta"
repository = "https://github.com/VectorAlpha-dev/VectorTA"
keywords = ["technical-analysis", "trading", "indicators", "finance"]
categories = ["algorithms"]
include = [
"/Cargo.toml",
"/README.md",
"/LICENSE",
"/NOTICE",
"/COPYRIGHT",
"/build.rs",
"/src/lib.rs",
"/src/bin/generate_references.rs",
"/src/bin/profile_yang_zhang_cuda.rs",
"/src/bindings/**/*.rs",
"/src/cuda/**/*.rs",
"/src/indicators/**/*.rs",
"/src/utilities/**/*.rs",
"/benches/**",
"/kernels/cuda/**/*.cu",
"/kernels/cuda/**/*.cuh",
"/kernels/ptx/**",
]
[dev-dependencies]
criterion = { version = "0.5.1", features = ["html_reports"] }
proptest = "1.7.0"
[[bench]]
name = "indicator_benchmark"
harness = false
[[bench]]
name = "cuda_bench"
harness = false
required-features = ["cuda"]
[[bench]]
name = "cuda_dispatch_vram_benchmark"
harness = false
required-features = ["cuda"]
[[bin]]
name = "generate_references"
path = "src/bin/generate_references.rs"
[[bin]]
name = "profile_yang_zhang_cuda"
path = "src/bin/profile_yang_zhang_cuda.rs"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
csv = "1.1"
ndarray = "0.16.1"
chrono = { version = "0.4.39", default-features = false, features = ["std"] }
thiserror = "2.0.9"
lru = "0.14.0"
once_cell = "1.21.3"
paste = "1.0.15"
num-traits = "0.2.19"
anyhow = "1.0.98"
aligned-vec = "0.6.4"
libc = "0.2.172"
itertools = "0.14.0"
wasm-bindgen = { version = "0.2.95", optional = true }
serde-wasm-bindgen = { version = "0.6", optional = true }
js-sys = { version = "0.3", optional = true }
pyo3 = { version = "0.25.0", optional = true, features = ["extension-module"] }
numpy = { version = "0.25.0", optional = true }
smallvec = "1.15.1"
float-cmp = "0.10.0"
cust = { version = "0.3.2", optional = true }
cust_derive = { version = "0.2.0", optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
rayon = "1.10.0"
ctor = "0.4.2"
[target.'cfg(target_arch = "wasm32")'.dependencies]
chrono = { version = "0.4.39", features = ["wasmbind"] }
getrandom = { version = "0.2", features = ["js"] }
[lib]
name = "vector_ta"
path = "src/lib.rs"
crate-type = ["cdylib", "rlib"]
doctest = false
[profile.release]
opt-level = 3
codegen-units = 255
incremental = false
overflow-checks = false
debug = false
strip = "none"
split-debuginfo = "unpacked"
lto = "fat"
[profile.wasm]
inherits = "release"
opt-level = "z"
lto = false
strip = "symbols"
[profile.bench]
opt-level = 3
lto = "fat"
codegen-units = 255
incremental = false
overflow-checks = false
debug = false
strip = "none"
split-debuginfo = "unpacked"
[profile.dev]
[profile.dev.build-override]
opt-level = 0
codegen-units = 16
[features]
default = []
proptest = []
nightly-avx = []
wasm = ["wasm-bindgen", "serde-wasm-bindgen", "js-sys"]
python = ["pyo3", "numpy"]
cuda = ["cust", "cust_derive"]
cuda-build-ptx = ["cuda"]
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[package.metadata.wasm-pack.profile.dev]
wasm-opt = false
[profile.release.build-override]
codegen-units = 255
[profile.bench.build-override]
codegen-units = 255
[profile.wasm.build-override]
codegen-units = 1