ig-client 0.1.21

This crate provides a client for the IG Markets API
Documentation
[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"