gemini_ex @ 0.13.0 View on hex.pm View source on GitHub
Comprehensive Elixir client for Google's Gemini AI API with dual authentication, embeddings with MRL, streaming, type safety, and built-in telemetry for production applications.
All systems passing
Report incorrect info for this package →
Dependencies & versions
Version Tested
Last Test Run
2026-04-24T05:55:06.697277Z
Compilation Determinism
Non-deterministic
Differences detected between rebuilds
- [nerves_system_mangopi_mq_pro] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Schema.beam (184c06db → fd68dfef)
- [nerves_system_mangopi_mq_pro] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Request.GenerateContentRequest.beam (ff223f35 → 5c295a5c)
- [nerves_system_mangopi_mq_pro] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Part.beam (a38deaa5 → 5b2c2b9b)
- [nerves_system_mangopi_mq_pro] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Generation.Video.VideoGenerationConfig.beam (4380c88d → 978b0159)
- [nerves_system_mangopi_mq_pro] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.BatchJob.beam (498488bb → 9188a023)
- [nerves_system_rpi4] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Schema.beam (184c06db → fd68dfef)
- [nerves_system_rpi4] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Request.GenerateContentRequest.beam (ff223f35 → 5c295a5c)
- [nerves_system_rpi4] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Part.beam (a38deaa5 → 5b2c2b9b)
- [nerves_system_rpi4] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.CreateBatchJobConfig.beam (a6ac30bc → 395bce11)
- [nerves_system_rpi4] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Generation.Video.VideoGenerationConfig.beam (4380c88d → 978b0159)
- [nerves_system_rpi4] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.BatchJob.beam (498488bb → 9188a023)
- [nerves_system_x86_64] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Schema.beam (184c06db → fd68dfef)
- [nerves_system_x86_64] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Request.GenerateContentRequest.beam (ff223f35 → 5c295a5c)
- [nerves_system_x86_64] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Part.beam (a38deaa5 → 5b2c2b9b)
- [nerves_system_x86_64] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.Generation.Video.VideoGenerationConfig.beam (4380c88d → 978b0159)
- [nerves_system_x86_64] changed: ebin/Elixir.Jason.Encoder.Gemini.Types.BatchJob.beam (498488bb → 9188a023)
Beam scanner — runtime capability snapshot
Beam scanner
Runtime capability snapshot
Static scan of the compiled release after mix firmware.
NIF usage
Not detected
Native code or C bindings
Shell/OS exec
Not detected
External commands or ports
Shell helpers
Not detected
Shell commands via System/os
App config reads
Detected
Elixir.Gemini Elixir.Application:put_env/3
Elixir.Gemini.APIs.ContextCache Elixir.Application:get_env/3
Elixir.Gemini.Config Elixir.Application:get_env/2
Elixir.Gemini.Config Elixir.Application:get_env/3
OS env reads
Detected
Elixir.Gemini.APIs.Tunings Elixir.System:get_env/1
Elixir.Gemini.Auth.ADC Elixir.System:get_env/1
Elixir.Gemini.Config Elixir.System:get_env/1
Start callback
Detected
Start modules: Elixir.Gemini.Application
Halt calls
Not detected
Explicit halt/stop calls
Impl: Elixir.Jason.Encoder for Gemini.Types.BatchJob -> Elixir.Jason.Encoder.Gemini.Types.BatchJob
Impl: Elixir.Jason.Encoder for Gemini.Types.Blob -> Elixir.Jason.Encoder.Gemini.Types.Blob
Impl: Elixir.Jason.Encoder for Gemini.Types.CachedContentUsageMetadata -> Elixir.Jason.Encoder.Gemini.Types.CachedContentUsageMetadata
Impl: Elixir.Jason.Encoder for Gemini.Types.Content -> Elixir.Jason.Encoder.Gemini.Types.Content
Impl: Elixir.Jason.Encoder for Gemini.Types.CreateBatchJobConfig -> Elixir.Jason.Encoder.Gemini.Types.CreateBatchJobConfig
Impl: Elixir.Jason.Encoder for Gemini.Types.CreateFileSearchStoreConfig -> Elixir.Jason.Encoder.Gemini.Types.CreateFileSearchStoreConfig
Impl: Elixir.Jason.Encoder for Gemini.Types.DeleteFileResponse -> Elixir.Jason.Encoder.Gemini.Types.DeleteFileResponse
Impl: Elixir.Jason.Encoder for Gemini.Types.Document -> Elixir.Jason.Encoder.Gemini.Types.Document
Impl: Elixir.Jason.Encoder for Gemini.Types.File -> Elixir.Jason.Encoder.Gemini.Types.File
Impl: Elixir.Jason.Encoder for Gemini.Types.FileData -> Elixir.Jason.Encoder.Gemini.Types.FileData
Impl: Elixir.Jason.Encoder for Gemini.Types.FileSearchDocument -> Elixir.Jason.Encoder.Gemini.Types.FileSearchDocument
Impl: Elixir.Jason.Encoder for Gemini.Types.FileSearchStore -> Elixir.Jason.Encoder.Gemini.Types.FileSearchStore
Dependency scans — transitive + OTP apps
Dependency scans
Transitive + OTP apps
Static scan of every app in the built release (including OTP libs).
| App | File Count | Size | Languages | NIF | OS exec | Shell | App env | OS env | Start callback |
|---|---|---|---|---|---|---|---|---|---|
| altar@0.2.0 | 13 | 45.3 KB | elixir | No | No | No | No | No | Yes |
| asn1@5.4.3 | 25 | 638.4 KB | erlang | Yes | No | No | No | No | No |
| circular_buffer@1.0.0 | 5 | 7.1 KB | elixir | No | No | No | No | No | No |
| compiler@9.0.6 | 62 | 1.1 MB | erlang | No | No | No | No | Yes | No |
| cowlib@2.16.0 | 27 | 859.3 KB | erlang | No | No | No | No | No | No |
| crypto@5.8.3 | 7 | 641.7 KB | erlang | Yes | No | No | Yes | No | No |
| elixir@1.19.4 | 273 | 2.6 MB | elixir, erlang | No | Yes | No | Yes | Yes | Yes |
| finch@0.21.0 | 16 | 83.6 KB | elixir | No | No | No | No | Yes | No |
| gemini_ex@0.13.0 | 426 | 1.2 MB | elixir | No | No | No | Yes | Yes | Yes |
| gun@2.2.0 | 33 | 509.0 KB | erlang | No | No | No | No | No | Yes |
| hpax@1.0.3 | 5 | 51.8 KB | elixir | No | No | No | No | No | No |
| iex@1.19.4 | 32 | 169.6 KB | elixir | No | Yes | Yes | Yes | Yes | Yes |
| inets@9.6.2 | 65 | 325.2 KB | erlang | No | Yes | No | Yes | No | Yes |
| jason@1.4.4 | 28 | 134.5 KB | elixir | No | No | No | No | No | No |
| joken@2.6.2 | 10 | 43.0 KB | elixir | No | No | No | Yes | No | No |
| jose@1.11.12 | 122 | 501.5 KB | elixir, erlang | No | No | No | Yes | No | Yes |
| kernel@10.6.2 | 105 | 1.0 MB | erlang | Yes | Yes | Yes | Yes | Yes | Yes |
| logger@1.19.4 | 12 | 71.0 KB | elixir | No | No | No | Yes | No | Yes |
| mime@2.0.7 | 2 | 18.7 KB | elixir | No | No | No | No | No | No |
| mint@1.7.1 | 22 | 167.6 KB | elixir, erlang | No | No | No | Yes | No | Yes |
| nerves_compatibility_test@0.1.0 | 3 | 2.3 KB | elixir | No | No | No | No | No | Yes |
| nerves_logging@0.2.4 | 7 | 24.4 KB | elixir | No | Yes | No | No | No | No |
| nerves_runtime@0.13.12 | 16 | 54.2 KB | elixir | No | Yes | No | Yes | No | Yes |
| nerves_uevent@0.1.5 | 7 | 149.2 KB | elixir | No | Yes | No | Yes | No | Yes |
| nimble_options@1.1.1 | 4 | 27.6 KB | elixir | No | No | No | No | No | No |
| nimble_pool@1.1.0 | 3 | 16.8 KB | elixir | No | No | No | No | No | Yes |
| property_table@0.3.3 | 9 | 34.2 KB | elixir | No | No | No | No | No | No |
| public_key@1.20.3 | 42 | 1.3 MB | erlang | Yes | Yes | No | Yes | No | No |
| req@0.5.17 | 24 | 144.3 KB | elixir | No | No | No | Yes | Yes | Yes |
| ring_logger@0.11.5 | 8 | 54.6 KB | elixir | No | No | No | Yes | No | No |
| runtime_tools@2.3.1 | 17 | 209.4 KB | erlang | Yes | Yes | Yes | Yes | Yes | Yes |
| sasl@4.3.2 | 19 | 167.8 KB | erlang | No | Yes | No | Yes | Yes | Yes |
| shoehorn@0.9.3 | 9 | 19.2 KB | elixir | No | No | No | Yes | No | Yes |
| ssl@11.5.4 | 80 | 723.9 KB | erlang | No | No | No | Yes | No | Yes |
| stdlib@7.3 | 98 | 2.4 MB | erlang | Yes | Yes | No | Yes | Yes | No |
| telemetry@1.3.0 | 6 | 9.4 KB | erlang | No | No | No | No | No | Yes |
| toolshed@0.4.2 | 10 | 59.0 KB | elixir | No | Yes | No | Yes | No | No |
| typed_struct@0.3.0 | 3 | 11.9 KB | elixir | No | No | No | No | No | No |
| uboot_env@1.0.2 | 6 | 11.8 KB | elixir | No | No | No | No | No | No |
System compatibility — detailed table
System Compatibility
| System | Status | Version Tested | Footprint (this system) | Log |
|---|---|---|---|---|
host (Elixir 1.19.4 / Erlang 28)
|
pass |
gemini_ex@0.13.0
|
N/A (host compile) | View log |
nerves_system_mangopi_mq_pro@0.15.3
|
pass |
gemini_ex@0.13.0
|
426 files, 1.2 MB
Firmware: 24.9 MB
|
View log |
nerves_system_rpi4@2.0.2
|
pass |
gemini_ex@0.13.0
|
426 files, 1.2 MB
Firmware: 40.6 MB
|
View log |
nerves_system_x86_64@1.33.3
|
pass |
gemini_ex@0.13.0
|
426 files, 1.2 MB
Firmware: 28.5 MB
|
View log |
⚠️ Important: A "passing" status means that the package compiled successfully with Nerves for this system. It does not guarantee that the package will work correctly at runtime or that all features are compatible with Nerves.
The compatibility test only verifies that:
- The package and its dependencies can be fetched from Hex.pm
- All dependencies are from Hex (no git or path dependencies)
- The firmware can be built successfully
If you believe a status is incorrect or have additional compatibility information, please open an issue (the title and template are pre-filled for this package).