Composable helpers for OpenAI SDK agents, prompts, and storage
Project description
openai-sdk-helpers
Shared primitives for composing OpenAI agent workflows: structures, response handling, prompt rendering, and reusable agent factories.
Overview
openai-sdk-helpers packages the common building blocks required to assemble agent-driven
applications. The library intentionally focuses on reusable primitives—data
structures, configuration helpers, and orchestration utilities—while leaving
application-specific prompts and tools to the consuming project.
Features
- Agent wrappers for OpenAI Agents SDK with synchronous and asynchronous entry points.
- Prompt rendering powered by Jinja for dynamic agent instructions.
- Typed structures for prompts, responses, and search workflows to ensure predictable inputs and outputs.
- Vector and web search flows that coordinate planning, execution, and reporting.
Installation
Install the package directly from PyPI to reuse it across projects:
pip install openai-sdk-helpers
For local development, install with editable sources and the optional dev dependencies:
pip install -e .
pip install -e . --group dev
Quickstart
Create a basic vector search workflow by wiring your own prompt templates and preferred model configuration:
from pathlib import Path
from openai_sdk_helpers.agent.vector_search import VectorSearch
prompts = Path("./prompts")
vector_search = VectorSearch(prompt_dir=prompts, default_model="gpt-4o-mini")
report = vector_search.run_agent_sync("Explain quantum entanglement for beginners")
print(report.report)
You can plug in your own prompt templates by placing matching .jinja files in
the provided prompt_dir and naming them after the agent (for example,
vector_planner.jinja).
Centralized OpenAI configuration
openai-sdk-helpers ships with a lightweight OpenAISettings helper so projects can share
consistent authentication, routing, and model defaults when using the OpenAI
SDK:
from openai_sdk_helpers import OpenAISettings
# Load from environment variables or a local .env file
settings = OpenAISettings.from_env()
client = settings.create_client()
# Reuse the default model across agents
vector_search = VectorSearch(
prompt_dir=prompts, default_model=settings.default_model or "gpt-4o-mini"
)
The helper reads OPENAI_API_KEY, OPENAI_ORG_ID, OPENAI_PROJECT_ID,
OPENAI_BASE_URL, and OPENAI_MODEL by default but supports overrides for
custom deployments.
Development
The repository is configured for a lightweight Python development workflow. Before opening a pull request, format and validate your changes locally:
# Style and formatting
pydocstyle src
black --check .
# Static type checking
pyright src
# Unit tests with coverage
pytest -q --cov=src --cov-report=term-missing --cov-fail-under=70
Project Structure
src/openai_sdk_helpers/agent: Agent factories, orchestration helpers, and search workflows.src/openai_sdk_helpers/prompt: Prompt rendering utilities backed by Jinja.src/openai_sdk_helpers/response: Response parsing and transformation helpers.src/openai_sdk_helpers/structure: Typed data structures shared across workflows.src/openai_sdk_helpers/vector_storage: Minimal vector store abstraction.tests/: Unit tests covering core modules and structures.
Contributing
Contributions are welcome! Please accompany functional changes with relevant
tests and ensure all quality gates pass. Follow the NumPy-style docstring
conventions outlined in AGENTS.md to keep the codebase consistent.
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 openai_sdk_helpers-0.0.2.tar.gz.
File metadata
- Download URL: openai_sdk_helpers-0.0.2.tar.gz
- Upload date:
- Size: 47.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a48f974ab5623b6324548ff1fee577dcf68f703a66b065dc025a4f803e4360c
|
|
| MD5 |
6f13bf8a838b557e0fc41189b818e3f0
|
|
| BLAKE2b-256 |
127bb91b271ec37e81511b1efe435fb5dfb114ac4ae6af5d08e78980d96aa870
|
File details
Details for the file openai_sdk_helpers-0.0.2-py3-none-any.whl.
File metadata
- Download URL: openai_sdk_helpers-0.0.2-py3-none-any.whl
- Upload date:
- Size: 51.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ada574864bb168578821f896de97b2740793066b1b862136bd10d6e149b118c9
|
|
| MD5 |
5133bce9dcf21ffd8d5675c53da92184
|
|
| BLAKE2b-256 |
cb0ef9bc0b422129b3acd2a50c41a78025c03a1301a53d77e31d4d4c710584c2
|