Skip to main content

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


Download files

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

Source Distribution

openai_sdk_helpers-0.0.2.tar.gz (47.1 kB view details)

Uploaded Source

Built Distribution

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

openai_sdk_helpers-0.0.2-py3-none-any.whl (51.7 kB view details)

Uploaded Python 3

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

Hashes for openai_sdk_helpers-0.0.2.tar.gz
Algorithm Hash digest
SHA256 7a48f974ab5623b6324548ff1fee577dcf68f703a66b065dc025a4f803e4360c
MD5 6f13bf8a838b557e0fc41189b818e3f0
BLAKE2b-256 127bb91b271ec37e81511b1efe435fb5dfb114ac4ae6af5d08e78980d96aa870

See more details on using hashes here.

File details

Details for the file openai_sdk_helpers-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for openai_sdk_helpers-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ada574864bb168578821f896de97b2740793066b1b862136bd10d6e149b118c9
MD5 5133bce9dcf21ffd8d5675c53da92184
BLAKE2b-256 cb0ef9bc0b422129b3acd2a50c41a78025c03a1301a53d77e31d4d4c710584c2

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