[package]
name = "rlstatsapi"
version = "0.1.6"
edition = "2024"
autobins = false
description = "Rocket League Stats API TCP client, parser, and optional Python bindings"
license = "MIT"
readme = "README.md"
repository = "https://github.com/xentrick/rlstatsapi"
homepage = "https://github.com/xentrick/rlstatsapi"
documentation = "https://docs.rs/rlstatsapi"
authors = ["nickm"]
keywords = ["rocket-league", "stats", "events", "tcp", "pyo3"]
categories = [
    "api-bindings",
    "network-programming",
    "parser-implementations",
    "game-development",
]
rust-version = "1.85"
exclude = [
    ".env",
    ".env.*",
    ".venv/**",
    ".mypy_cache/**",
    "target/**",
    "fuzz/**",
    "examples/**",
    "json/**",
    "pyproject.toml",
    "uv.lock",
    "test.py",
]

[package.metadata.wix]
upgrade-guid = "763F0B78-4210-4D6A-BEF2-2DEE0E74A47F"
path-guid = "5058A27A-E7FA-4C3A-9EAE-D2258314EC60"
license = false
eula = false

[lib]
crate-type = ["rlib", "cdylib"]

[features]
default = []
python = ["dep:pyo3"]
dev-tools = []

[workspace]
members = ["."]
default-members = ["."]

[dependencies]
dotenvy = "0.15"
eframe = { version = "0.31", default-features = false, features = [
    "default_fonts",
    "glow",
    "wayland",
    "x11",
] }
futures-util = "0.3"
pyo3 = { version = "0.23", optional = true, features = [
    "abi3-py311",
    "extension-module",
] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
tokio = { version = "1.44", features = [
    "macros",
    "rt-multi-thread",
    "time",
    "net",
    "io-util",
    "sync",
    "signal",
] }
tokio-tungstenite = "0.24"
url = "2.5"

[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }


[[bin]]
name = "rl_events"
path = "src/bin/rl_events.rs"

[[bin]]
name = "sos_broadcast"
path = "src/bin/sos_broadcast.rs"

[[bin]]
name = "sos_broadcast_gui"
path = "src/bin/sos_broadcast_gui.rs"

[[bin]]
name = "sos_relay"
path = "src/bin/sos_relay.rs"

[[bin]]
name = "player_board"
path = "src/bin/player_board.rs"
required-features = ["dev-tools"]

[[bin]]
name = "raw_events"
path = "src/bin/raw_events.rs"
required-features = ["dev-tools"]

[[bin]]
name = "tick_listener"
path = "src/bin/tick_listener.rs"
required-features = ["dev-tools"]

[[bin]]
name = "mock_broadcast"
path = "src/bin/mock_broadcast.rs"
required-features = ["dev-tools"]

[[bench]]
name = "events_parsing"
harness = false

# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
