Minimalist Python framework for AI agents logic-only coding with streaming, tool calls, and multi-LLM provider support
Project description
open-taranis
Minimalist Python framework for AI agents logic-only coding with streaming, tool calls, and multi-LLM provider support.
Installation
pip install open-taranis --upgrade
Quick Start
import open_taranis as T
client = T.clients.openrouter("api_key")
messages = [
T.create_user_prompt("Tell me about yourself")
]
stream = T.clients.openrouter_request(
client=client,
messages=messages,
model="qwen/qwen3-4b:free",
)
print("assistant : ",end="")
for token, tool, tool_bool in T.handle_streaming(stream) :
if token :
print(token, end="")
Documentation :
.
├── __version__ = "0.0.4_genesis"
│
├── clients
│ ├── veniceai(api_key:str) -> openai.OpenAI
│ ├── deepseek(api_key:str) -> openai.OpenAI
│ ├── openrouter(api_key:str) -> openai.OpenAI
│ ├── xai(api_key:str) -> openai.OpenAI
│ ├── groq(api_key:str) -> openai.OpenAI
│ │
│ ├── veniceai_request(client:openai.OpenAI, messages:list[dict], model:str, temperature:float, max_tokens:int, tools: list[dict], include_venice_system_prompt:bool=False, **kwargs) -> openai.Stream
│ ├── generic_request(client:openai.OpenAI, messages:list[dict], model:str, temperature:float, max_tokens:int, tools:list[dict], **kwargs) -> openai.Stream
│ └── openrouter_request(client:openai.OpenAI, messages:list[dict], model:str, temperature:float, max_tokens:int, tools:list[dict], **kwargs) -> openai.Stream
│
├── handle_streaming(stream:openai.Stream) -> generator(token:str|None, tool:list[dict]|None, tool_bool:bool)
├── handle_tool_call(tool_call:dict) -> tuple[str, str, dict, str]
│
├── create_assistant_response(content:str, tool_calls:list[dict]=None) -> dict[str, str]
├── create_function_response(id:str, result:str, name:str) -> dict[str, str, str]
├── create_system_prompt(content:str) -> dict[str, str]
└── create_user_prompt(content:str) -> dict[str, str]
Roadmap
- v0.0.1: start
- v0.0.x: Add and confirm other API providers
- v0.1.x: Functionality verifications
- > v0.2.0: Add features for logic-only coding approach
- v0.6.x: Add llama.cpp as backend in addition to APIs
- v0.7.x: Add reverse proxy + server to create a dedicated full relay/backend (like OpenRouter), framework usable as server and client
- v0.8.x: Add PyTorch as backend with
transformersto deploy a remote server - v0.9.x: Total reduction of dependencies for built-in functions (unless counter-optimizations)
- v1.0.0: First complete version in Python without dependencies
- v1.x.x: Reduce dependencies to Python for Rust backend
- v2.0.0: Backend totally in Rust
Changelog
v0.0.4 :
- Add xai and groq provider
Advanced Examples
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
open_taranis-0.0.4.tar.gz
(17.2 kB
view details)
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 open_taranis-0.0.4.tar.gz.
File metadata
- Download URL: open_taranis-0.0.4.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e31ecb5a7709ef3cf6a01b932e507333d2d62d1b66cc90720d76f90e3cbff2d6
|
|
| MD5 |
4e3062c662f9adec36b74297fcb3fb8e
|
|
| BLAKE2b-256 |
2bb1825542fdb3a1d993172a9f8e90efd47d8fb821f2f6d79b36d7729e755bd9
|
File details
Details for the file open_taranis-0.0.4-py3-none-any.whl.
File metadata
- Download URL: open_taranis-0.0.4-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fa3c581940d572cb197c8102cba28ed6bad73b95b3d0a70e678df307236607c
|
|
| MD5 |
4d6a3c512094eeb269f915ef426ae322
|
|
| BLAKE2b-256 |
fdc74aa73dd6767a371b2420a5d4f77c81f115e60672e7b6212b3a74f91abee8
|