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
-
Email:Â marjanahmed.dev@gmail.com
-
GitHub:Â https://github.com/marjan-ahmed
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d53f97ecc1e9b661aa24c83ea092f8c8563aa7aa835e42c52d78899a463a620
|
|
| MD5 |
30be1a348aa9e8a412d418c89e363534
|
|
| BLAKE2b-256 |
ee05132d68ab0a0d72ad56332c947c61f85563193bfb24016c114877a2f6c3c0
|
File details
Details for the file gemini_starter_agent-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gemini_starter_agent-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a951f6b1c65dc46a5f9b97688c1694805546a9f657684cdb2cfe39bb92c8fd1d
|
|
| MD5 |
d8408329b7843bc244bde143ee0a41b5
|
|
| BLAKE2b-256 |
ebc657b681d193abff6be33837fd653116be2cc6dd1a64cd0df0521df6e5ff1a
|