Skip to main content

Sigil Python Provider Helper: Gemini

sigil-sdk-gemini provides strict Gemini Models wrappers and mappers for Sigil.

Installation

pip install sigil-sdk sigil-sdk-gemini google-genai

Public API

  • Wrappers:
    • models.generate_content(...)
    • models.generate_content_async(...)
    • models.generate_content_stream(...)
    • models.generate_content_stream_async(...)
    • models.embed_content(...)
    • models.embed_content_async(...)
  • Mappers:
    • models.from_request_response(...)
    • models.from_stream(...)
    • models.embedding_from_response(...)

Wrapper Mode (Sync)

from google.genai import types as genai_types
from sigil_sdk import Client, ClientConfig
from sigil_sdk_gemini import GeminiOptions, models

client = Client(ClientConfig())

model = "gemini-2.5-pro"
contents = [genai_types.Content(role="user", parts=[genai_types.Part(text="Hello")])]
config = genai_types.GenerateContentConfig(max_output_tokens=256)

response = models.generate_content(
    client,
    model,
    contents,
    config,
    lambda req_model, req_contents, req_config: gemini_client.models.generate_content(
        model=req_model,
        contents=req_contents,
        config=req_config,
    ),
    GeminiOptions(conversation_id="conv-1", agent_name="assistant", agent_version="1.0.0"),
)

Wrapper Mode (Stream)

from sigil_sdk_gemini import GeminiStreamSummary, models

summary = models.generate_content_stream(
    client,
    model,
    contents,
    config,
    lambda req_model, req_contents, req_config: GeminiStreamSummary(
        responses=list(gemini_client.models.generate_content_stream(
            model=req_model,
            contents=req_contents,
            config=req_config,
        ))
    ),
)

Mapper Mode

generation = models.from_request_response(model, contents, config, response)
stream_generation = models.from_stream(model, contents, config, summary)

Embedding example

embedding_response = models.embed_content(
    client,
    "gemini-embedding-001",
    contents,
    None,
    lambda req_model, req_contents, req_config: gemini_client.models.embed_content(
        model=req_model,
        contents=req_contents,
        config=req_config,
    ),
)

Raw Provider Artifacts (Opt-In)

options = GeminiOptions(raw_artifacts=True)

Raw artifacts are default OFF and should only be enabled for diagnostics.

Provider metadata mapping

Gemini-specific fields are mapped as follows:

  • usage.thoughts_token_count -> normalized usage.reasoning_tokens
  • usage.tool_use_prompt_token_count -> metadata sigil.gen_ai.usage.tool_use_prompt_tokens
  • config.thinking_config.thinking_budget -> metadata sigil.gen_ai.request.thinking.budget_tokens
  • config.thinking_config.thinking_level -> metadata sigil.gen_ai.request.thinking.level

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sigil_sdk_gemini-0.9.3.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sigil_sdk_gemini-0.9.3-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file sigil_sdk_gemini-0.9.3.tar.gz.

File metadata

  • Download URL: sigil_sdk_gemini-0.9.3.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for sigil_sdk_gemini-0.9.3.tar.gz
Algorithm Hash digest
SHA256 cf717d544417b0a3a26ff46e39426232997788fd7bee636959cb9d72992c5f56
MD5 abe09377e0575b078cb25e084915e614
BLAKE2b-256 dddfa6aa8ed23752295a603162e7240188af4b5bb5996ee20c2fb250043227ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for sigil_sdk_gemini-0.9.3.tar.gz:

Publisher: python-sdks-publish.yml on grafana/sigil-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sigil_sdk_gemini-0.9.3-py3-none-any.whl.

File metadata

File hashes

Hashes for sigil_sdk_gemini-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 944596be638f3ff76feae44bb24d6dbb471e3a0cba3e34352d5f23e3410969ed
MD5 38fc5a6cc6ab3b1376fbd6cef91b2f27
BLAKE2b-256 ee95d4ca2642515626cec284b7cb7f0f97e67197ded457eea9bab2f790cf9f31

See more details on using hashes here.

Provenance

The following attestation bundles were made for sigil_sdk_gemini-0.9.3-py3-none-any.whl:

Publisher: python-sdks-publish.yml on grafana/sigil-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.9.3 This release

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page