Skip to main content

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

uopenai-0.2.3.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

uopenai-0.2.3-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

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

Hashes for uopenai-0.2.3.tar.gz
Algorithm Hash digest
SHA256 a2838ab2176e528d04d5c6be2cf81126de36dc203db81defd069012ed16fe7be
MD5 752b6135c87c5cea3d178bdc85ea8b8f
BLAKE2b-256 b13e6c74033177f39b527d8e8a806f444a063909815cf9da208c1f8e8fe8f862

See more details on using hashes here.

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

Hashes for uopenai-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 13a82ea96f96b8db281a179f318f5457c657e80b6d522e436be2d8c3a450e54a
MD5 bc652915e0ddf51ea343f9cf4471ead1
BLAKE2b-256 42e9171db096b6847c40d121f7ef8fc62da853ecce0f728450ac7170f4c87e67

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page