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.6", "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
│ ├── huggingface(api_key:str) -> openai.OpenAI
│ │
│ ├── veniceai_request(client, messages, model, temperature, max_tokens, tools, include_venice_system_prompt, enable_web_search, enable_web_citations, disable_thinking, **kwargs) -> openai.Stream
│ ├── generic_request(client, messages, model, temperature, max_tokens, tools, **kwargs) -> openai.Stream
│ └── openrouter_request(client, messages, model, temperature, max_tokens, tools, **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 (in the cloud, not locally)
- 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
- v0.0.5 : Add huggingface provider and args for clients.veniceai_request
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.6.tar.gz
(17.4 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.6.tar.gz.
File metadata
- Download URL: open_taranis-0.0.6.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c8f3adb70e3b6f75d867ce79dd3fe2f7bc43f0e8caf6399adbaa18015c9862b
|
|
| MD5 |
02cbb08788aab291325db31277541cb9
|
|
| BLAKE2b-256 |
5a18eafa67336370eb2f0b4df601192eeea5465c27d7ed5de016a5806c9fdad4
|
File details
Details for the file open_taranis-0.0.6-py3-none-any.whl.
File metadata
- Download URL: open_taranis-0.0.6-py3-none-any.whl
- Upload date:
- Size: 16.7 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 |
24f5a0e05dbc3629ead1b6a8130172de771f4a883d9320b6eaab50b97e4a0d34
|
|
| MD5 |
956230aad3f1cd75d0c851b1397fb266
|
|
| BLAKE2b-256 |
8df25d54b3f259e61aa3c783b6450e97713a319c58cb04b3c56b5b01d6d38fd0
|