Gemini AI automation client with persistent memory, async support, and provider routing.
Project description
CycloneAI
CycloneAI is a small Python package that keeps the public API simple:
from cycloneai import Client
ai = Client(provider="auto")
print(ai.ask("Hello"))
What is included
ClientandAsyncClientask(),stream(),compare(),save(),load()- conversation memory
- provider routing with
provider="auto"and fallback - provider registration for custom backends
What is not included
This package does not automate guest access to third-party hosted LLM websites. The built-in gemini, gpt, and claude providers are explicit placeholders so the public API and provider architecture are ready without shipping code that attempts to bypass official access controls or service terms.
If you want real responses, register your own compliant provider implementation.
Usage
Basic
from cycloneai import Client
ai = Client(provider="auto")
reply = ai.ask("Python study order")
print(reply)
Memory
chat = Client(memory=True)
chat.register_provider(MyProvider())
chat.ask("My name is Hyunho")
chat.ask("What is my name?")
System prompt
ai = Client(system="You are the best coding mentor.")
ai.register_provider(MyProvider())
Streaming
for chunk in ai.stream("Write a short story"):
print(chunk, end="")
Async
from cycloneai import AsyncClient
ai = AsyncClient()
ai.register_provider(MyProvider())
print(await ai.ask("What is AI?"))
Top-level helper
import cycloneai as cy
provider = MyProvider()
print(cy.ask("Hi", provider=provider))
Custom provider example
from cycloneai import BaseProvider, Client, Response
class MyProvider(BaseProvider):
name = "demo"
def ask(self, prompt, *, system=None, history=None, timeout=30):
return Response(
text=f"demo reply: {prompt}",
provider=self.name,
time=0.01,
tokens=None,
)
ai = Client(provider=MyProvider())
print(ai.ask("Hello"))
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cycloneai-0.2.3.tar.gz.
File metadata
- Download URL: cycloneai-0.2.3.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83100a686c055325b49e47574bf8790273a53094c852a85aee33a6e1df17dba7
|
|
| MD5 |
aeaa7e1bf87293254f3366652fb3c543
|
|
| BLAKE2b-256 |
8ca0fcf71f7f6b2872dbf2f72f97f5e1a8162f50f9c32397d67fc830d7b8bc5f
|
File details
Details for the file cycloneai-0.2.3-py3-none-any.whl.
File metadata
- Download URL: cycloneai-0.2.3-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
597c8c7e5739ba11cd12b1d3a1e812a4ce3a7966f060c914df19f805747d5adc
|
|
| MD5 |
4e3603572fde3568d5fa0ffccbdb563e
|
|
| BLAKE2b-256 |
c40df7e18731879a7338457052d00e1f8170b0f21c6c836132cd155a4213ea89
|