Skip to main content

A CLI tool to bootstrap Gemini agents with OpenAI Agent SDK using UV.

Project description

Gemini Starter Agent 🚀 - Simplifying Gemini Chat Completions in the OpenAI Agents SDK

https://img.shields.io/badge/python-3.13+-bluehttps://img.shields.io/badge/License-MIT-yellow.svg

Gemini Starter Agent is a Python CLI tool to quickly bootstrap AI agents using the Gemini API and OpenAI Agent SDK. It leverages UV for project scaffolding, virtual environment management, and dependency handling.

Features

  • Quick scaffolding of a Gemini AI agent project.

  • Automatic creation of virtual environments.

  • Easy dependency installation (openai-agents, python-dotenv).

  • Generates a ready-to-run main.py for your agent.

  • Friendly CLI prompts for agent name, purpose, and API key.

  • PEP-621 compliant pyproject.toml scripts for easy CLI execution.

  • Cross-platform support.

Installation

Install the package via pip:

pip install gemini-starter-agent

Usage

Run the CLI to generate a new Gemini agent:

`pip install gemini-starter-agent   `

You will be prompted for:

  • Project name (default: agent)

  • Gemini API key

  • Gemini model (choose from default or enter your own)

  • Agent name (default: Helpful Assistant)

  • Agent purpose/instructions

After completion, your project structure will look like:

`   /your-project-name/  ├── src/  │   └── your_project_name/  │       ├── __init__.py  │       └── main.py  ├── .env  ├── pyproject.toml  └── ...   `

Example main.py

Here is how the generated main.py will look:

``   import asyncio  import os  from dotenv import load_dotenv  # the openai-agents runtime packages are installed by `uv add`  from agents import Agent, Runner, RunConfig, OpenAIChatCompletionsModel, set_tracing_disabled  from openai import AsyncOpenAI  # Load environment variables  load_dotenv()  GEMINI_MODEL = os.getenv("GEMINI_MODEL")  GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")  BASE_URL = os.getenv("BASE_URL", "https://generativelanguage.googleapis.com/v1beta/openai/")  # Disable tracing for cleaner output  set_tracing_disabled(True)  client: AsyncOpenAI = AsyncOpenAI(api_key=GEMINI_API_KEY, base_url=BASE_URL)  model: OpenAIChatCompletionsModel = OpenAIChatCompletionsModel(GEMINI_MODEL, client)  agent: Agent = Agent(      name="{agent_name}",      instructions="{agent_purpose}",      model=model,  )  async def main() -> None:      """Entry point for the agent CLI."""       prompt = "What is Agentic AI in haikus"  # enter a prompt here      result = await Runner.run(agent, prompt, run_config=RunConfig(model))      print(result.final_output)  if __name__ == '__main__':      asyncio.run(main())   ``

Running Your Agent

Change into the project folder:

Run the agent using UV scripts:

bash

Plain textANTLR4BashCC#CSSCoffeeScriptCMakeDartDjangoDockerEJSErlangGitGoGraphQLGroovyHTMLJavaJavaScriptJSONJSXKotlinLaTeXLessLuaMakefileMarkdownMATLABMarkupObjective-CPerlPHPPowerShell.propertiesProtocol BuffersPythonRRubySass (Sass)Sass (Scss)SchemeSQLShellSwiftSVGTSXTypeScriptWebAssemblyYAMLXML uv run helpful-assistant # friendly script Environment Variables

The .env file is automatically generated and contains:

env

Plain textANTLR4BashCC#CSSCoffeeScriptCMakeDartDjangoDockerEJSErlangGitGoGraphQLGroovyHTMLJavaJavaScriptJSONJSXKotlinLaTeXLessLuaMakefileMarkdownMATLABMarkupObjective-CPerlPHPPowerShell.propertiesProtocol BuffersPythonRRubySass (Sass)Sass (Scss)SchemeSQLShellSwiftSVGTSXTypeScriptWebAssemblyYAMLXML GEMINI_API_KEY=your_api_key_here GEMINI_MODEL=your_model_here BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/

Contributing

  • Submit bug reports or feature requests via GitHub Issues.

  • Fork the repository and create pull requests for improvements.

  • Ensure code style consistency and add documentation for new features.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Author

Marjan Ahmed

Project details


Download files

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

Source Distribution

gemini_starter_agent-0.1.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

gemini_starter_agent-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file gemini_starter_agent-0.1.0.tar.gz.

File metadata

  • Download URL: gemini_starter_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for gemini_starter_agent-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2d53f97ecc1e9b661aa24c83ea092f8c8563aa7aa835e42c52d78899a463a620
MD5 30be1a348aa9e8a412d418c89e363534
BLAKE2b-256 ee05132d68ab0a0d72ad56332c947c61f85563193bfb24016c114877a2f6c3c0

See more details on using hashes here.

File details

Details for the file gemini_starter_agent-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gemini_starter_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a951f6b1c65dc46a5f9b97688c1694805546a9f657684cdb2cfe39bb92c8fd1d
MD5 d8408329b7843bc244bde143ee0a41b5
BLAKE2b-256 ebc657b681d193abff6be33837fd653116be2cc6dd1a64cd0df0521df6e5ff1a

See more details on using hashes here.

Supported by

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