Metadata-Version: 2.5
Name: genkit
Version: 0.11.0
Summary: Python SDK from Google for agents, structured generation, and observable LLM apps
Project-URL: Bug Tracker, https://github.com/genkit-ai/genkit/issues
Project-URL: Changelog, https://github.com/genkit-ai/genkit/releases
Project-URL: Documentation, https://genkit.dev/docs/get-started/?lang=python
Project-URL: Homepage, https://github.com/genkit-ai/genkit
Project-URL: Repository, https://github.com/genkit-ai/genkit/tree/main/py
Author: Google
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agents,anthropic,gemini,genkit,observability,openai,streaming,structured-output,tool-calling
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Framework :: AsyncIO
Classifier: Framework :: Pydantic
Classifier: Framework :: Pydantic :: 2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: anyio>=4.9.0
Requires-Dist: asgiref>=3.8.1
Requires-Dist: dotpromptz>=0.1.5
Requires-Dist: httpx>=0.28.1
Requires-Dist: json5>=0.10.0
Requires-Dist: jsonschema>=4.23.0
Requires-Dist: opentelemetry-api>=1.29.0
Requires-Dist: opentelemetry-instrumentation-logging>=0.60b1
Requires-Dist: opentelemetry-sdk>=1.29.0
Requires-Dist: partial-json-parser>=0.2.1.1.post5
Requires-Dist: pillow>=12.1.1
Requires-Dist: psutil>=7.0.0
Requires-Dist: pydantic>=2.10.5
Requires-Dist: python-multipart>=0.0.22
Requires-Dist: rich>=13.0.0
Requires-Dist: sse-starlette>=2.2.1
Requires-Dist: starlette>=0.46.1
Requires-Dist: strenum>=0.4.15; python_version < '3.11'
Requires-Dist: structlog>=25.2.0
Requires-Dist: typing-extensions>=4.0
Requires-Dist: uvicorn>=0.34.0
Requires-Dist: uvloop>=0.21.0; sys_platform != 'win32'
Requires-Dist: websockets>=13.0.0
Provides-Extra: amazon-bedrock
Requires-Dist: genkit-amazon-bedrock; extra == 'amazon-bedrock'
Provides-Extra: anthropic
Requires-Dist: genkit-anthropic; extra == 'anthropic'
Provides-Extra: django
Requires-Dist: genkit-django; extra == 'django'
Provides-Extra: evaluators
Requires-Dist: genkit-evaluators; extra == 'evaluators'
Provides-Extra: fastapi
Requires-Dist: genkit-fastapi; extra == 'fastapi'
Provides-Extra: flask
Requires-Dist: genkit-flask; extra == 'flask'
Provides-Extra: google-cloud
Requires-Dist: genkit-google-cloud; extra == 'google-cloud'
Provides-Extra: google-genai
Requires-Dist: genkit-google-genai; extra == 'google-genai'
Provides-Extra: middleware
Requires-Dist: genkit-middleware; extra == 'middleware'
Provides-Extra: ollama
Requires-Dist: genkit-ollama; extra == 'ollama'
Provides-Extra: openai
Requires-Dist: genkit-openai; extra == 'openai'
Provides-Extra: vertex-ai
Requires-Dist: genkit-vertexai; extra == 'vertex-ai'
Description-Content-Type: text/markdown

# genkit

[![PyPI version](https://img.shields.io/pypi/v/genkit)](https://pypi.org/project/genkit/) [![Python versions](https://img.shields.io/pypi/pyversions/genkit)](https://pypi.org/project/genkit/) [![Downloads](https://img.shields.io/pypi/dm/genkit)](https://pypi.org/project/genkit/) [![License](https://img.shields.io/pypi/l/genkit)](https://github.com/genkit-ai/genkit/blob/main/LICENSE)

Genkit is a Python SDK from Google. One API for generate, tools, structured output, and agents, plus a local Developer UI.

Vertex AI, Cloud Trace, and Firestore are there if you want them. So are OpenAI, Anthropic, Ollama, and Bedrock.

## Install

```bash
uv add genkit genkit-google-genai
```

```python
from pydantic import BaseModel, Field
from genkit import Genkit
from genkit_google_genai import GoogleAI

ai = Genkit(plugins=[GoogleAI()], model=GoogleAI.gemini_model('gemini-flash-latest'))


class Issue(BaseModel):
    title: str = Field(description='Short title')
    severity: str = Field(description='critical, warning, or info')
    suggestion: str = Field(description='How to fix it')


@ai.flow()
async def review(code: str) -> Issue:
    result = await ai.generate(
        prompt=f'Review this code:\n{code}',
        output_schema=Issue,
    )
    return result.output


async def main() -> None:
    print((await review('eval(user_input)')).model_dump_json(indent=2))


if __name__ == '__main__':
    ai.run_main(main())
```

See https://python.api.genkit.dev for more details.
