[package]
name = "ig-client"
version = "0.1.21"
edition = "2024"
authors = ["Joaquin Bejar <jb@taunais.com>"]
description = "This crate provides a client for the IG Markets API"
license = "MIT"
readme = "README.md"
repository = "https://github.com/joaquinbejar/ig-client"
homepage = "https://github.com/joaquinbejar/ig-client"
keywords = ["finance", "ohlc", "tick", "trading"]
categories = ["finance", "data-structures"]
include = [
"benches/**/*",
"src/**/*",
"Cargo.toml",
"README.md",
"LICENSE",
"examples/**/*",
"tests/**/*",
"Makefile",
"rust-toolchain.toml",
"Draws/**/*",
"Docker/**/*",
]
[dependencies]
tokio = { workspace = true}
chrono = { workspace = true}
tracing = { workspace = true}
tracing-subscriber = { workspace = true}
serde = { workspace = true}
serde_json = { workspace = true}
reqwest ={ workspace = true}
criterion = { workspace = true}
sqlx = { workspace = true}
async-trait = { workspace = true}
regex = { workspace = true}
dotenv = { workspace = true}
lightstreamer-rs = { workspace = true}
once_cell = { workspace = true}
lazy_static = { workspace = true}
rand = { workspace = true}
nanoid = { workspace = true}
[dev-dependencies]
assert-json-diff = "2.0"
once_cell = "1.21"
mockito = "1.7"
tokio-test = "0.4"
[[test]]
name = "unit_tests"
path = "tests/unit/mod.rs"
[[test]]
name = "integration_tests"
path = "tests/integration/main.rs"
[lib]
name = "ig_client"
path = "src/lib.rs"
[[bench]]
name = "benchmarks"
harness = false
path = "benches/benchmarks.rs"
[workspace]
members = [
"examples/account",
"examples/chart",
"examples/market",
"examples/orders",
"examples/trade",
"examples/transactions",
"examples/positions",
"examples/prices",
"examples/rate_limiter",
]
[workspace.dependencies]
ig-client= { path = "." }
tokio = { version = "1.45", features = ["rt", "rt-multi-thread", "macros", "time", "signal"] }
chrono = { version = "0.4", features = ["serde"] }
tracing = "0.1"
tracing-subscriber = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
reqwest = { version = "0.12", features = ["json"] }
criterion = "0.6"
sqlx = { version = "0.8", features = [ "postgres","macros","chrono","runtime-tokio-native-tls"]}
async-trait = "0.1"
regex = "1.11"
dotenv = "0.15"
lightstreamer-rs = "0.1"
once_cell = "1.21"
lazy_static = "1.5"
rand = "0.9"
futures = "0.3"
nanoid = "0.4"