# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.70"
name = "ib-flex"
version = "0.2.1"
authors = ["Clifton King <clifton@example.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Type-safe parser for Interactive Brokers (IBKR) FLEX XML statements: trades, positions, cash flows, corporate actions, and P&L."
homepage = "https://github.com/clifton/ib-flex"
documentation = "https://docs.rs/ib-flex"
readme = "README.md"
keywords = [
    "ibkr",
    "interactive-brokers",
    "flex",
    "trading",
    "finance",
]
categories = [
    "parser-implementations",
    "finance",
    "api-bindings",
]
license = "MIT"
repository = "https://github.com/clifton/ib-flex"

[features]
api-client = [
    "reqwest",
    "tokio",
    "serde_json",
]
default = []

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[[bench]]
name = "parsing_benchmarks"
path = "benches/parsing_benchmarks.rs"
harness = false

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.quick-xml]
version = "0.40"
features = ["serialize"]

[dependencies.reqwest]
version = "0.13"
optional = true

[dependencies.rust_decimal]
version = "1.36"
features = ["serde-with-str"]

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

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1.0"
features = [
    "rt-multi-thread",
    "macros",
]
optional = true

[dev-dependencies.anyhow]
version = "1.0"

[dev-dependencies.criterion]
version = "0.8"

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

[dev-dependencies.rand]
version = "0.10"

[dev-dependencies.tokio]
version = "1.0"
features = [
    "rt-multi-thread",
    "macros",
]
