diff --git a/Cargo.lock b/Cargo.lock index bcc3759..6ac2ed3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -306,13 +306,12 @@ checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" [[package]] name = "console" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" +checksum = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" dependencies = [ "encode_unicode", "libc", - "once_cell", "unicode-width", "windows-sys 0.61.2", ] @@ -394,9 +393,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "darling" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" dependencies = [ "darling_core", "darling_macro", @@ -404,11 +403,10 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" dependencies = [ - "fnv", "ident_case", "proc-macro2", "quote", @@ -418,9 +416,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core", "quote", @@ -683,6 +681,26 @@ dependencies = [ "slab", ] +[[package]] +name = "geologia" +version = "0.1.0" +dependencies = [ + "console", + "dialoguer", + "dotenvy", + "image", + "indicatif", + "reqwest", + "serde", + "serde_json", + "serde_with", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", + "tracing-subscriber", +] + [[package]] name = "getrandom" version = "0.2.16" @@ -720,26 +738,6 @@ dependencies = [ "weezl", ] -[[package]] -name = "google-genai" -version = "0.1.0" -dependencies = [ - "console", - "dialoguer", - "dotenvy", - "image", - "indicatif", - "reqwest", - "serde", - "serde_json", - "serde_with", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "tracing-subscriber", -] - [[package]] name = "h2" version = "0.4.12" @@ -1025,9 +1023,9 @@ dependencies = [ [[package]] name = "image" -version = "0.25.9" +version = "0.25.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" dependencies = [ "bytemuck", "byteorder-lite", @@ -1043,8 +1041,8 @@ dependencies = [ "rayon", "rgb", "tiff", - "zune-core 0.5.0", - "zune-jpeg 0.5.5", + "zune-core", + "zune-jpeg", ] [[package]] @@ -1088,9 +1086,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.18.3" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" +checksum = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" dependencies = [ "console", "portable-atomic", @@ -1197,9 +1195,9 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" [[package]] name = "libc" -version = "0.2.178" +version = "0.2.185" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" +checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f" [[package]] name = "libfuzzer-sys" @@ -1287,9 +1285,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", "wasi", @@ -1298,9 +1296,9 @@ dependencies = [ [[package]] name = "moxcms" -version = "0.7.10" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80986bbbcf925ebd3be54c26613d861255284584501595cf418320c078945608" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" dependencies = [ "num-traits", "pxfm", @@ -1472,9 +1470,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "potential_utf" @@ -1689,9 +1687,9 @@ dependencies = [ [[package]] name = "ravif" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef69c1990ceef18a116855938e74793a5f7496ee907562bd0857b6ac734ab285" +checksum = "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45" dependencies = [ "avif-serialize", "imgref", @@ -2036,9 +2034,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.16.1" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" +checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" dependencies = [ "base64", "chrono", @@ -2055,9 +2053,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.16.1" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" +checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" dependencies = [ "darling", "proc-macro2", @@ -2124,12 +2122,12 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -2266,16 +2264,16 @@ dependencies = [ [[package]] name = "tiff" -version = "0.10.3" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" +checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52" dependencies = [ "fax", "flate2", "half", "quick-error", "weezl", - "zune-jpeg 0.4.21", + "zune-jpeg", ] [[package]] @@ -2336,9 +2334,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.49.0" +version = "1.52.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" dependencies = [ "bytes", "libc", @@ -2353,9 +2351,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", @@ -2491,9 +2489,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.22" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "nu-ansi-term", "sharded-slab", @@ -3130,12 +3128,6 @@ dependencies = [ "syn", ] -[[package]] -name = "zune-core" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" - [[package]] name = "zune-core" version = "0.5.0" @@ -3151,20 +3143,11 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "zune-jpeg" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" -dependencies = [ - "zune-core 0.4.12", -] - [[package]] name = "zune-jpeg" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc6fb7703e32e9a07fb3f757360338b3a567a5054f21b5f52a666752e333d58e" dependencies = [ - "zune-core 0.5.0", + "zune-core", ] diff --git a/Cargo.toml b/Cargo.toml index b4b89ea..b582fce 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "google-genai" +name = "geologia" version = "0.1.0" edition = "2024" diff --git a/README.md b/README.md index 04be2fd..3b8471e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# google-genai +# geologia A Rust client library for the Google Generative AI API. @@ -30,14 +30,14 @@ To use this library in your own Rust application, add it as a dependency in your ```toml [dependencies] -google-genai = "0.1.0" # Or the latest version +geologia = "0.1.0" # Or the latest version ``` Here is a basic example of how to use the `GeminiClient` to generate content: ```rust use std::env; -use google_genai::prelude::{Content, GeminiClient, GenerateContentRequest, Role}; +use geologia::prelude::{Content, GeminiClient, GenerateContentRequest, Role}; async fn run() -> Result<(), Box> { // Get the API key from the environment. diff --git a/examples/function-call.rs b/examples/function-call.rs index 928a19a..e7dd1ae 100644 --- a/examples/function-call.rs +++ b/examples/function-call.rs @@ -1,6 +1,6 @@ use std::{env, error::Error}; -use google_genai::prelude::{ +use geologia::prelude::{ Content, FunctionDeclaration, FunctionResponse, GeminiClient, GenerateContentRequest, Part, PartData, Role, Tools, }; diff --git a/examples/generate-content-stream.rs b/examples/generate-content-stream.rs index 7770fe7..cab1788 100644 --- a/examples/generate-content-stream.rs +++ b/examples/generate-content-stream.rs @@ -1,6 +1,6 @@ use std::{env, error::Error}; -use google_genai::prelude::{Content, GeminiClient, GenerateContentRequest, Role}; +use geologia::prelude::{Content, GeminiClient, GenerateContentRequest, Role}; use tokio_stream::StreamExt; #[tokio::main] diff --git a/examples/generate-content.rs b/examples/generate-content.rs index 2b7f775..3bcb9a4 100644 --- a/examples/generate-content.rs +++ b/examples/generate-content.rs @@ -1,6 +1,6 @@ use std::{env, error::Error}; -use google_genai::prelude::{Content, GeminiClient, GenerateContentRequest, Role}; +use geologia::prelude::{Content, GeminiClient, GenerateContentRequest, Role}; #[tokio::main] async fn main() -> Result<(), Box> { diff --git a/examples/generate-image.rs b/examples/generate-image.rs index 854c6d0..6cc9854 100644 --- a/examples/generate-image.rs +++ b/examples/generate-image.rs @@ -1,6 +1,6 @@ use std::{env, error::Error, io::Cursor}; -use google_genai::prelude::{ +use geologia::prelude::{ GeminiClient, PersonGeneration, PredictImageRequest, PredictImageRequestParameters, PredictImageRequestParametersOutputOptions, PredictImageRequestPrompt, PredictImageSafetySetting, diff --git a/examples/raw_sse.rs b/examples/raw_sse.rs index a2b7a11..dd2ef48 100644 --- a/examples/raw_sse.rs +++ b/examples/raw_sse.rs @@ -1,6 +1,6 @@ use std::env; -use google_genai::{ +use geologia::{ network::event_source::EventSource, prelude::{Content, GenerateContentRequest, Role}, }; diff --git a/src/client.rs b/src/client.rs index d1969ff..05701de 100644 --- a/src/client.rs +++ b/src/client.rs @@ -15,9 +15,9 @@ use tracing::error; /// # Example /// /// ```no_run -/// use google_genai::prelude::*; +/// use geologia::prelude::*; /// -/// # async fn run() -> google_genai::error::Result<()> { +/// # async fn run() -> geologia::error::Result<()> { /// let client = GeminiClient::new("YOUR_API_KEY".into()); /// let request = GenerateContentRequest::builder() /// .contents(vec![Content::builder().add_text_part("Hi!").build()]) diff --git a/src/lib.rs b/src/lib.rs index 9f41712..9e5204c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,9 +7,9 @@ //! # Usage //! //! ```no_run -//! use google_genai::prelude::*; +//! use geologia::prelude::*; //! -//! # async fn run() -> google_genai::error::Result<()> { +//! # async fn run() -> geologia::error::Result<()> { //! let client = GeminiClient::new("YOUR_API_KEY".into()); //! //! let request = GenerateContentRequest::builder() @@ -30,7 +30,7 @@ mod types; /// Convenience re-exports of the most commonly used types. /// -/// Importing `use google_genai::prelude::*` brings [`GeminiClient`](crate::prelude::GeminiClient) +/// Importing `use geologia::prelude::*` brings [`GeminiClient`](crate::prelude::GeminiClient) /// and all request/response types into scope. pub mod prelude { pub use crate::client::*;