genai 0.5.2

Multi-AI Providers Library for Rust. (OpenAI, Gemini, Anthropic, xAI, Ollama, Groq, DeepSeek, Grok)
Documentation
# 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 = "2024"
name = "genai"
version = "0.5.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Multi-AI Providers Library for Rust. (OpenAI, Gemini, Anthropic, xAI, Ollama, Groq, DeepSeek, Grok)"
homepage = "https://github.com/jeremychone/rust-genai"
readme = "README.md"
keywords = [
    "generative-ai",
    "openai",
    "chatgpt",
    "gemini",
    "ollama",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/jeremychone/rust-genai"

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

[[example]]
name = "c00-readme"
path = "examples/c00-readme.rs"

[[example]]
name = "c01-conv"
path = "examples/c01-conv.rs"

[[example]]
name = "c02-auth"
path = "examples/c02-auth.rs"

[[example]]
name = "c03-mapper"
path = "examples/c03-mapper.rs"

[[example]]
name = "c04-chat-options"
path = "examples/c04-chat-options.rs"

[[example]]
name = "c05-model-names"
path = "examples/c05-model-names.rs"

[[example]]
name = "c06-target-resolver"
path = "examples/c06-target-resolver.rs"

[[example]]
name = "c07-image"
path = "examples/c07-image.rs"

[[example]]
name = "c07-zai"
path = "examples/c07-zai.rs"

[[example]]
name = "c08-tooluse"
path = "examples/c08-tooluse.rs"

[[example]]
name = "c09-google-gcp"
path = "examples/c09-google-gcp.rs"

[[example]]
name = "c10-tooluse-streaming"
path = "examples/c10-tooluse-streaming.rs"

[[example]]
name = "c11-tooluse-deterministic"
path = "examples/c11-tooluse-deterministic.rs"

[[example]]
name = "e01-embed-basic"
path = "examples/e01-embed-basic.rs"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.base64]
version = "0.22.0"

[dependencies.bytes]
version = "1.6"

[dependencies.derive_more]
version = "2"
features = [
    "from",
    "display",
]

[dependencies.eventsource-stream]
version = "0.2"

[dependencies.futures]
version = "0.3"

[dependencies.mime_guess]
version = "2"

[dependencies.reqwest]
version = "0.13"
features = [
    "json",
    "stream",
]

[dependencies.serde]
version = "1"
features = [
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1"

[dependencies.serde_with]
version = "3"

[dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
    "io-std",
    "test-util",
    "io-util",
]

[dependencies.tokio-stream]
version = "0.1"

[dependencies.tracing]
version = "0.1"
features = ["default"]

[dependencies.value-ext]
version = "0.1.2"

[dev-dependencies.base64]
version = "0.22.0"

[dev-dependencies.bitflags]
version = "2.8"

[dev-dependencies.gcp_auth]
version = "0.12"

[dev-dependencies.serial_test]
version = "3.2"

[dev-dependencies.simple-fs]
version = "0.9.2"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[lints.rust]
unsafe_code = "forbid"