cargo-features = ["codegen-backend"]
[package]
edition = "2024"
name = "ask_llm"
version = "2.2.1"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "make a request to whatever llm is the best these days, without hardcoding model/provider"
homepage = "https://github.com/valeratrades/ask_llm"
documentation = "https://github.com/valeratrades/ask_llm/tree/master/README.md"
readme = "README.md"
license = "MIT"
repository = "https://github.com/valeratrades/ask_llm"
[package.metadata.docs.rs]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
[features]
cli = [
"dep:clap",
"v_utils/cli",
]
default = ["cli"]
full = ["cli"]
[lib]
name = "ask_llm"
path = "src/lib.rs"
[[bin]]
name = "ask_llm"
path = "src/main.rs"
required-features = ["cli"]
[[example]]
name = "async"
path = "examples/async.rs"
[[example]]
name = "codeblocks"
path = "examples/codeblocks.rs"
[[example]]
name = "file_attachment"
path = "examples/file_attachment.rs"
[[example]]
name = "force_json"
path = "examples/force_json.rs"
[[example]]
name = "translate"
path = "examples/translate.rs"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.11.1"
[dependencies.clap]
version = "^4.5.53"
features = ["derive"]
optional = true
[dependencies.color-eyre]
version = "^0.6.5"
[dependencies.derive-new]
version = "^0"
[dependencies.derive_more]
version = "2.1.1"
features = [
"from",
"display",
"deref",
"deref_mut",
"debug",
"from_str",
]
[dependencies.eyre]
version = "0.6.12"
[dependencies.futures]
version = "0.3.32"
[dependencies.miette]
version = "7.6.0"
features = [
"fancy",
"syntect-highlighter",
"serde",
]
[dependencies.reqwest]
version = "0.13.2"
features = [
"blocking",
"json",
"stream",
]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.tokio]
version = "1.48.0"
features = [
"macros",
"rt-multi-thread",
]
[dependencies.tracing]
version = "0.1.44"
[dependencies.v_utils]
version = "^2.15.30"
[lints.clippy]
float_cmp = "allow"
get_first = "allow"
get_last_with_len = "allow"
len_zero = "allow"
tabs_in_doc_comments = "allow"
undocumented_unsafe_blocks = "warn"