sql-cli 1.59.0

SQL query tool for CSV/JSON with both interactive TUI and non-interactive CLI modes - perfect for exploration and automation
Documentation
[package]
name = "sql-cli"
version = "1.59.0"
edition = "2021"
autobins = false
autoexamples = false
autotests = false  # We'll use a single test harness
authors = ["TimelordUK <sjames8888@gmail.com>"]
description = "SQL query tool for CSV/JSON with both interactive TUI and non-interactive CLI modes - perfect for exploration and automation"
license = "MIT"
repository = "https://github.com/TimelordUK/sql-cli"
homepage = "https://github.com/TimelordUK/sql-cli"
documentation = "https://github.com/TimelordUK/sql-cli"
readme = "README.md"
keywords = ["csv", "tui", "sql", "vim", "data-analysis"]
categories = ["command-line-utilities", "database", "development-tools"]
exclude = [
    "sql-cli/",
    "proxy-server/",
    "TradeApi/",
    "TradeApi.Tests/",
    "*.gif",
    "*.cast",
    "*.csv",
    "*.json",
    "*.ps1",
    "coverage/",
    "scripts/",
    ".github/",
    ".vscode/",
    ".idea/",
    "demos/",
    "docs/images/",
]

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

# Main binary specifications (already defined, removing duplicates)



# Windows-specific dependencies
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["processthreadsapi", "psapi", "memoryapi"] }

[dependencies]
reedline = "0.30"
crossterm = { version = "0.28", features = ["use-dev-tty"] }
nom = "7.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
dirs = "5.0"
reqwest = { version = "0.11", features = ["json", "blocking", "multipart"] }
tokio = { version = "1.35", features = ["full"] }
comfy-table = "7.0"
csv = "1.3"
ratatui = "0.29"
tui-input = { version = "0.11", features = ["crossterm"] }
anyhow = "1.0"
clap = "4.0"
regex = "1.0"
fuzzy-matcher = "0.3"
chrono = { version = "0.4", features = ["serde"] }
syntect = "5.0"
arboard = "3.2"
md5 = "0.7"
sha1 = "0.10"
sha2 = "0.10"
toml = "0.8"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "time", "local-time"] }
lazy_static = "1.4"
once_cell = "1.19"
rand = "0.8"
uuid = { version = "1.6", features = ["v4"] }
fxhash = "0.2"
num-bigint = "0.4"
num-traits = "0.2"
ahash = "0.8"
base64 = "0.22"
hex = "0.4"
figlet-rs = "0.1"
redis = { version = "0.23", optional = true }
rmp-serde = "1.1"

[features]
default = ["redis-cache"]
redis-cache = ["dep:redis"]

[dev-dependencies]
tempfile = "3.8"
criterion = "0.5"

# Explicitly specify binaries (no auto-discovery)
[[bin]]
name = "sql-cli"
path = "src/main.rs"

[[bin]]
name = "sql-cli-chart"
path = "src/chart_main.rs"

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

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

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

# Single test harness containing all tests as modules
[[test]]
name = "integration"
path = "tests/main.rs"

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

[profile.dev]
opt-level = 0       # No optimization for debugging
debug = true        # Include debug symbols
debug-assertions = true
overflow-checks = true

[profile.test]
opt-level = 0       # No optimization for fastest build
debug = 1           # Minimal debug info for faster builds
lto = false         # Disable LTO for faster linking
codegen-units = 256 # Maximum parallelism for faster builds
incremental = true  # Enable incremental compilation

[profile.release]
opt-level = "z"     # Optimize for size
lto = true          # Enable Link Time Optimization
codegen-units = 1   # Reduce parallel codegen for better optimization
strip = true        # Strip symbols