[package]
edition = "2021"
name = "gemini-rust"
version = "2.0.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust client for Google Gemini API"
readme = "README.md"
keywords = [
"gemini",
"embed",
"google",
"ai",
"client",
]
categories = ["api-bindings"]
license = "MIT"
repository = "https://github.com/flachesis/gemini-rust"
[lib]
name = "gemini_rust"
path = "src/lib.rs"
[[example]]
name = "advanced"
path = "examples/advanced.rs"
[[example]]
name = "advanced_maps_configuration"
path = "examples/advanced_maps_configuration.rs"
[[example]]
name = "basic_generation"
path = "examples/basic_generation.rs"
[[example]]
name = "basic_streaming"
path = "examples/basic_streaming.rs"
[[example]]
name = "batch_cancel"
path = "examples/batch_cancel.rs"
[[example]]
name = "batch_delete"
path = "examples/batch_delete.rs"
[[example]]
name = "batch_embedding"
path = "examples/batch_embedding.rs"
[[example]]
name = "batch_generate"
path = "examples/batch_generate.rs"
[[example]]
name = "batch_list"
path = "examples/batch_list.rs"
[[example]]
name = "blob"
path = "examples/blob.rs"
[[example]]
name = "cache_basic"
path = "examples/cache_basic.rs"
[[example]]
name = "complex_function"
path = "examples/complex_function.rs"
[[example]]
name = "count_tokens"
path = "examples/count_tokens.rs"
[[example]]
name = "curl_equivalent"
path = "examples/curl_equivalent.rs"
[[example]]
name = "curl_google_search"
path = "examples/curl_google_search.rs"
[[example]]
name = "custom_base_url"
path = "examples/custom_base_url.rs"
[[example]]
name = "custom_models"
path = "examples/custom_models.rs"
[[example]]
name = "embedding"
path = "examples/embedding.rs"
[[example]]
name = "error_handling"
path = "examples/error_handling.rs"
[[example]]
name = "file_input"
path = "examples/file_input.rs"
[[example]]
name = "file_search_basic"
path = "examples/file_search_basic.rs"
[[example]]
name = "file_search_import"
path = "examples/file_search_import.rs"
[[example]]
name = "file_search_metadata"
path = "examples/file_search_metadata.rs"
[[example]]
name = "files_delete_all"
path = "examples/files_delete_all.rs"
[[example]]
name = "files_lifecycle"
path = "examples/files_lifecycle.rs"
[[example]]
name = "files_usage"
path = "examples/files_usage.rs"
[[example]]
name = "gemini_3_all_thinking_levels"
path = "examples/gemini_3_all_thinking_levels.rs"
[[example]]
name = "gemini_3_code_execution"
path = "examples/gemini_3_code_execution.rs"
[[example]]
name = "gemini_3_thinking_and_media"
path = "examples/gemini_3_thinking_and_media.rs"
[[example]]
name = "gemini_pro_example"
path = "examples/gemini_pro_example.rs"
[[example]]
name = "generation_config"
path = "examples/generation_config.rs"
[[example]]
name = "google_maps_grounding"
path = "examples/google_maps_grounding.rs"
[[example]]
name = "google_search"
path = "examples/google_search.rs"
[[example]]
name = "google_search_with_functions"
path = "examples/google_search_with_functions.rs"
[[example]]
name = "http_client_builder"
path = "examples/http_client_builder.rs"
[[example]]
name = "image_editing"
path = "examples/image_editing.rs"
[[example]]
name = "image_generation"
path = "examples/image_generation.rs"
[[example]]
name = "interaction_advanced"
path = "examples/interaction_advanced.rs"
[[example]]
name = "interaction_antigravity"
path = "examples/interaction_antigravity.rs"
[[example]]
name = "interaction_background"
path = "examples/interaction_background.rs"
[[example]]
name = "interaction_basic"
path = "examples/interaction_basic.rs"
[[example]]
name = "interaction_code_execution"
path = "examples/interaction_code_execution.rs"
[[example]]
name = "interaction_custom_client"
path = "examples/interaction_custom_client.rs"
[[example]]
name = "interaction_deep_research"
path = "examples/interaction_deep_research.rs"
[[example]]
name = "interaction_error_handling"
path = "examples/interaction_error_handling.rs"
[[example]]
name = "interaction_file_search"
path = "examples/interaction_file_search.rs"
[[example]]
name = "interaction_function_calling"
path = "examples/interaction_function_calling.rs"
[[example]]
name = "interaction_google_maps"
path = "examples/interaction_google_maps.rs"
[[example]]
name = "interaction_google_search"
path = "examples/interaction_google_search.rs"
[[example]]
name = "interaction_image_gen"
path = "examples/interaction_image_gen.rs"
[[example]]
name = "interaction_multi_turn"
path = "examples/interaction_multi_turn.rs"
[[example]]
name = "interaction_multimodal"
path = "examples/interaction_multimodal.rs"
[[example]]
name = "interaction_streaming"
path = "examples/interaction_streaming.rs"
[[example]]
name = "interaction_structured"
path = "examples/interaction_structured.rs"
[[example]]
name = "interaction_thinking"
path = "examples/interaction_thinking.rs"
[[example]]
name = "interaction_tracing"
path = "examples/interaction_tracing.rs"
[[example]]
name = "interaction_tts"
path = "examples/interaction_tts.rs"
[[example]]
name = "interaction_url_context"
path = "examples/interaction_url_context.rs"
[[example]]
name = "json_schema"
path = "examples/json_schema.rs"
[[example]]
name = "mp4_describe"
path = "examples/mp4_describe.rs"
[[example]]
name = "multi_speaker_tts"
path = "examples/multi_speaker_tts.rs"
[[example]]
name = "safety_settings"
path = "examples/safety_settings.rs"
[[example]]
name = "simple"
path = "examples/simple.rs"
[[example]]
name = "simple_image_generation"
path = "examples/simple_image_generation.rs"
[[example]]
name = "simple_maps_example"
path = "examples/simple_maps_example.rs"
[[example]]
name = "simple_speech_generation"
path = "examples/simple_speech_generation.rs"
[[example]]
name = "simple_thought_signature"
path = "examples/simple_thought_signature.rs"
[[example]]
name = "streaming"
path = "examples/streaming.rs"
[[example]]
name = "structured_response"
path = "examples/structured_response.rs"
[[example]]
name = "test_api"
path = "examples/test_api.rs"
[[example]]
name = "text_thought_signature_example"
path = "examples/text_thought_signature_example.rs"
[[example]]
name = "thinking_advanced"
path = "examples/thinking_advanced.rs"
[[example]]
name = "thinking_banana"
path = "examples/thinking_banana.rs"
[[example]]
name = "thinking_basic"
path = "examples/thinking_basic.rs"
[[example]]
name = "thinking_curl_equivalent"
path = "examples/thinking_curl_equivalent.rs"
[[example]]
name = "thought_signature_example"
path = "examples/thought_signature_example.rs"
[[example]]
name = "tools"
path = "examples/tools.rs"
[[example]]
name = "tracing_telemetry"
path = "examples/tracing_telemetry.rs"
[[example]]
name = "url_context"
path = "examples/url_context.rs"
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "^0.1"
[dependencies.base64]
version = "0.22"
[dependencies.eventsource-stream]
version = "0.2"
[dependencies.futures]
version = "^0.3.1"
[dependencies.futures-util]
version = "^0.3"
[dependencies.mime]
version = "0.3"
[dependencies.mime_guess]
version = "2.0"
[dependencies.reqwest]
version = "^0.12.15"
features = [
"charset",
"h2",
"http2",
"json",
"stream",
"macos-system-configuration",
"rustls-tls",
]
default-features = false
[dependencies.schemars]
version = "1.0"
[dependencies.serde]
version = "^1.0"
features = ["derive"]
[dependencies.serde_json]
version = "^1.0"
[dependencies.snafu]
version = "0.8"
features = ["backtrace"]
[dependencies.strum]
version = "0.27"
features = ["derive"]
[dependencies.strum_macros]
version = "0.27"
[dependencies.time]
version = "0.3"
features = [
"serde",
"parsing",
"formatting",
]
[dependencies.tokio]
version = "1"
features = ["io-util"]
[dependencies.tracing]
version = "0.1.41"
[dependencies.url]
version = "^2.4"
features = ["serde"]
[dev-dependencies.display-error-chain]
version = "0.2"
[dev-dependencies.tokio]
version = "^1.47"
features = ["full"]
[dev-dependencies.tracing-subscriber]
version = "0.3.20"
features = ["env-filter"]