# Easier OpenAI
Easier OpenAI wraps the official OpenAI Python SDK so you can drive modern assistants, manage tool selection, search files, and work with speech in one place.
## What's Included
- Conversational `Assistant` helper with conversation memory and tool toggles.
- Temporary vector store ingestion to ground answers in local notes.
- Built-in helpers for image generation and text-to-speech playback.
- Speech-to-text recording shortcuts for quick dictation.
- Optional `openai_function` decorator re-exported for function tool schemas.
## Installation
```bash
pip install easier-openai
```
Optional extras:
```bash
pip install "easier-openai[function_tools]" # decorator helpers
pip install "easier-openai[speech_models]" # whisper speech recognition models
```
Set `OPENAI_API_KEY` in your environment or pass it explicitly when constructing the assistant.
## Quick Start
```python
from easier_openai import Assistant
assistant = Assistant(api_key=None, model="gpt-4o", system_prompt="You are concise.")
response_text = assistant.chat("Summarize Rayleigh scattering in one sentence.")
print(response_text)
```
### Ground replies with your files
```python
notes = ["notes/overview.md", "notes/data-sheet.pdf"]
reply = assistant.chat(
"Highlight key risks from the attached docs",
file_search=notes,
tools_required="auto",
)
print(reply)
```
### Generate speech from responses
```python
assistant.full_text_to_speech(
"Ship a status update that sounds upbeat",
model="gpt-4o-mini-tts",
voice="alloy",
play=True,
)
```
## Requirements
- Python 3.10 or newer
- `openai>=1.43.0`
- `typing_extensions>=4.7.0`
- `pydantic>=2.0.0`
## Contributing
Issues and pull requests are welcome. Please run checks locally before submitting changes.
## License
This project is licensed under the [Apache License 2.0](LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "easier-openai",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.13",
"maintainer_email": null,
"keywords": "openai, assistant, chat, responses, audio, images, vector, speech",
"author": null,
"author_email": "Advik Mathur <pranit.advik@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/69/a5/0a7fe6dda549997e1341c053c7425d40c44bba5aec123faff7b3ceb13704/easier_openai-4.216.tar.gz",
"platform": null,
"description": "# Easier OpenAI\r\n\r\nEasier OpenAI wraps the official OpenAI Python SDK so you can drive modern assistants, manage tool selection, search files, and work with speech in one place.\r\n\r\n## What's Included\r\n- Conversational `Assistant` helper with conversation memory and tool toggles.\r\n- Temporary vector store ingestion to ground answers in local notes.\r\n- Built-in helpers for image generation and text-to-speech playback.\r\n- Speech-to-text recording shortcuts for quick dictation.\r\n- Optional `openai_function` decorator re-exported for function tool schemas.\r\n\r\n## Installation\r\n```bash\r\npip install easier-openai\r\n```\r\n\r\nOptional extras:\r\n```bash\r\npip install \"easier-openai[function_tools]\" # decorator helpers\r\npip install \"easier-openai[speech_models]\" # whisper speech recognition models\r\n```\r\n\r\nSet `OPENAI_API_KEY` in your environment or pass it explicitly when constructing the assistant.\r\n\r\n## Quick Start\r\n```python\r\nfrom easier_openai import Assistant\r\n\r\nassistant = Assistant(api_key=None, model=\"gpt-4o\", system_prompt=\"You are concise.\")\r\nresponse_text = assistant.chat(\"Summarize Rayleigh scattering in one sentence.\")\r\nprint(response_text)\r\n```\r\n\r\n### Ground replies with your files\r\n```python\r\nnotes = [\"notes/overview.md\", \"notes/data-sheet.pdf\"]\r\nreply = assistant.chat(\r\n \"Highlight key risks from the attached docs\",\r\n file_search=notes,\r\n tools_required=\"auto\",\r\n)\r\nprint(reply)\r\n```\r\n\r\n### Generate speech from responses\r\n```python\r\nassistant.full_text_to_speech(\r\n \"Ship a status update that sounds upbeat\",\r\n model=\"gpt-4o-mini-tts\",\r\n voice=\"alloy\",\r\n play=True,\r\n)\r\n```\r\n\r\n## Requirements\r\n- Python 3.10 or newer\r\n- `openai>=1.43.0`\r\n- `typing_extensions>=4.7.0`\r\n- `pydantic>=2.0.0`\r\n\r\n## Contributing\r\nIssues and pull requests are welcome. Please run checks locally before submitting changes.\r\n\r\n## License\r\nThis project is licensed under the [Apache License 2.0](LICENSE).\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Utilities for orchestrating OpenAI chat, tool calling, search, audio, and images from one helper package.",
"version": "4.216",
"project_urls": {
"Documentation": "https://github.com/Adpros7/easier-gpt",
"Homepage": "https://github.com/Adpros7/easier-gpt",
"Issues": "https://github.com/Adpros7/easier-gpt/issues",
"Repository": "https://github.com/Adpros7/easier-gpt"
},
"split_keywords": [
"openai",
" assistant",
" chat",
" responses",
" audio",
" images",
" vector",
" speech"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "bb4b0dea2fa595392e877929cdee1871a050476ff920e52bd130a30273fb8757",
"md5": "7e40c7e8a1e8c5f679b367af6027a697",
"sha256": "03964aa170143a0805fac2592ed72a350f07ce58f1c88729b162ad1d035f744f"
},
"downloads": -1,
"filename": "easier_openai-4.216-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7e40c7e8a1e8c5f679b367af6027a697",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.13",
"size": 17108,
"upload_time": "2025-10-06T23:33:23",
"upload_time_iso_8601": "2025-10-06T23:33:23.012317Z",
"url": "https://files.pythonhosted.org/packages/bb/4b/0dea2fa595392e877929cdee1871a050476ff920e52bd130a30273fb8757/easier_openai-4.216-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "69a50a7fe6dda549997e1341c053c7425d40c44bba5aec123faff7b3ceb13704",
"md5": "abfe30a1cbc4774ea027638932c4d4c2",
"sha256": "8cb302738390d867dca601e3b37e45b71e1f05ad2946a0acd04efea0564bbc5e"
},
"downloads": -1,
"filename": "easier_openai-4.216.tar.gz",
"has_sig": false,
"md5_digest": "abfe30a1cbc4774ea027638932c4d4c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.13",
"size": 19112,
"upload_time": "2025-10-06T23:33:24",
"upload_time_iso_8601": "2025-10-06T23:33:24.397314Z",
"url": "https://files.pythonhosted.org/packages/69/a5/0a7fe6dda549997e1341c053c7425d40c44bba5aec123faff7b3ceb13704/easier_openai-4.216.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-06 23:33:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Adpros7",
"github_project": "easier-gpt",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "openai",
"specs": []
},
{
"name": "simpleaudio",
"specs": []
},
{
"name": "openai_stt",
"specs": []
},
{
"name": "typing_extensions",
"specs": []
},
{
"name": "whisper",
"specs": []
},
{
"name": "ez-openai",
"specs": []
},
{
"name": "huggingface-hub",
"specs": []
},
{
"name": "pygame",
"specs": []
}
],
"lcname": "easier-openai"
}