Minimalistic library to call OpenAI API, with httpx and type-hinting
Project description
uOpenAI
uOpenAI is a lightweight, asynchronous Python library designed to interact with the OpenAI API. Leveraging the power of httpx
for async HTTP requests and pydantic
for data validation and settings management, it aims to provide a seamless and efficient way to access OpenAI's capabilities in modern async Python applications.
Features
- Fully Asynchronous: Built from the ground up for asyncio compatibility.
- Type-Hinted: Ensures robust code through comprehensive type annotations.
- Simple and Intuitive: A straightforward API to access OpenAI's features with minimal boilerplate.
Installation
To install uOpenAI, run:
pip install uopenai
Quick Start
Here's a quick example to get you started:
import asyncio
from uopenai import OpenAI, Message
async def main():
api = OpenAI("your-api-key")
# Complete a prompt with options
res = await api.complete([Message("system", "You are a chat bot"), Message("user", "What’s on your mind?")], max_tokens=50)
print(res.choices[0].message.content)
# easy version
res = await api.easy_complete("What’s on your mind?", "You are a chat bot")
res = await api.easy_complete("What’s on your mind?",
"You are a JSON answering machine, give the answer in JSON only.", json=True)
if __name__ == "__main__":
asyncio.run(main())
Replace "your-api-key" with your actual OpenAI API key.
Requirements
- Python 3.7+
- OpenAI API key
httpx
pydantic
Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
License
uOpenAI is released under the The Unlicense. See the LICENSE file for more details.
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
Built Distribution
File details
Details for the file uopenai-0.2.3.tar.gz
.
File metadata
- Download URL: uopenai-0.2.3.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2838ab2176e528d04d5c6be2cf81126de36dc203db81defd069012ed16fe7be |
|
MD5 | 752b6135c87c5cea3d178bdc85ea8b8f |
|
BLAKE2b-256 | b13e6c74033177f39b527d8e8a806f444a063909815cf9da208c1f8e8fe8f862 |
File details
Details for the file uopenai-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: uopenai-0.2.3-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13a82ea96f96b8db281a179f318f5457c657e80b6d522e436be2d8c3a450e54a |
|
MD5 | bc652915e0ddf51ea343f9cf4471ead1 |
|
BLAKE2b-256 | 42e9171db096b6847c40d121f7ef8fc62da853ecce0f728450ac7170f4c87e67 |