Tiny package that exposes only the openai SDK's types as openai_types,
keeping install size as small as possible while staying in sync with upstream.
Install
pip install openai-python-types
Usage
- Instead of
from openai.types.realtime.realtime_audio_formats import RealtimeAudioFormatsusefrom openai_types.realtime.realtime_audio_formats import RealtimeAudioFormats.
What’s Included
- Only the upstream
src/openai/typestree, vendored underopenai_types/types. - A tiny
_models.BaseModelshim (pydantic v2) needed by the generated types. - Auto-generated import proxies so
openai_types.<module>maps toopenai_types.types.<module>.
What’s Not Included
- No client logic, transport, or other
openaiSDK files — keeping the wheel minimal.
Syncing with Upstream
- A GitHub Action (
.github/workflows/sync.yml) runs hourly and on demand to:- Fetch the latest OpenAI Python release tag
- Copy
src/openai/typesinto this repo - Generate import proxies
- Bump this package version to match upstream
- Open a PR with changes
- Build a wheel and run a smoke import test against it
Releasing
- On PR merge to
main, a workflow (.github/workflows/tag-on-merge.yml) tags the repo asv<version>ifpyproject.tomlversion changed. - Publishing workflow (
.github/workflows/release.yml) automatically uploads to PyPI on tag pushv*.*.*. - Configure repository secret
PYPI_API_TOKENfor automated publishing.
Local Development
- Run
python scripts/sync_types.pyto sync locally. - Build locally with
python -m build.
Notes
- Requires Python 3.8+ and
pydantic>=2at runtime.