[package]
name = "scix-client"
version = "0.3.0"
edition = "2021"
license = "MIT"
description = "Rust client for the SciX (NASA ADS) API — library, CLI, and MCP server"
keywords = ["scix", "ads", "nasa", "astronomy", "bibliography"]
categories = ["api-bindings", "science"]
repository = "https://github.com/yipihey/scix-client"
homepage = "https://github.com/yipihey/scix-client"
readme = "README.md"
rust-version = "1.75"
include = ["src/**/*", "Cargo.toml", "LICENSE-MIT", "README.md", "pyproject.toml"]

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

[features]
default = []
cli = ["dep:clap", "dep:comfy-table", "dep:dialoguer", "dep:dirs"]
python = ["dep:pyo3", "dep:pythonize"]

[dependencies]
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "time"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "1.0"
url = "2"

# CLI (optional)
clap = { version = "4", features = ["derive"], optional = true }
comfy-table = { version = "7", optional = true }
dialoguer = { version = "0.11", optional = true }
dirs = { version = "6", optional = true }

# Python bindings (optional)
pyo3 = { version = "0.23", features = ["extension-module"], optional = true }
pythonize = { version = "0.23", optional = true }

[dev-dependencies]
tokio = { version = "1", features = ["full"] }

[[bin]]
name = "scix"
path = "src/bin/scix.rs"
required-features = ["cli"]

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/scix-v{ version }-{ target }.tar.gz"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "tgz"
