A modular, explicit, non-magical framework for building AI-powered software systems.
Project description
Rosenix
A modular, explicit, non-magical framework for building AI-powered software systems: assistants, agents, multi-agent systems, AI APIs, workflows, and more — on one consistent architecture.
Philosophy
- Nothing is magical, nothing is hidden. No implicit prompt templates, no hidden chains. Every behavior is a plain, typed, inspectable object.
- Composition over inheritance. Providers are
typing.Protocols, not base classes — any object with the right shape works, no framework coupling required. - Everything is a plugin. LLMs, embeddings, vector stores, tools, and
memory backends all register through the same plugin system, including
third-party packages via
entry_points.
Architecture (4 layers)
Layer 4 kits/ Agent, Workflow, Tool decorator (opinionated)
Layer 3 runtime/ event bus, task executor, tracing (execution)
Layer 2 protocols/ LLMProvider, EmbeddingProvider, ... (contracts)
Layer 1 kernel/ DI container, plugin registry, config (foundation)
Each layer only depends on the layers below it. Layer 1 has zero AI-specific code — it's a generic application kernel, on purpose, so the architecture is proven before AI complexity is added.
Quickstart
pip install -e ".[dev,openai]"
import asyncio
from rosenix.kernel.container import Container
from rosenix.providers.openai_provider import OpenAIProvider
from rosenix.kits.agent import Agent
async def main():
container = Container()
container.register(OpenAIProvider, lambda: OpenAIProvider(model="gpt-4o-mini"))
agent = Agent(llm=container.resolve(OpenAIProvider), name="assistant")
reply = await agent.run("Say hello in one sentence.")
print(reply)
asyncio.run(main())
See examples/basic_agent.py for a full runnable example.
Development
pip install -e ".[dev,openai]"
pytest --cov=rosenix --cov-report=term-missing
mypy src/rosenix
ruff check src/ tests/ examples/
See CONTRIBUTING.md for local setup details and current test-coverage
gaps that are good first contributions.
Project status
Pre-alpha (0.x). The architecture is stable; test coverage on
kits/ and providers/ is still being built out — see ROADMAP.md.
Not yet recommended for production use.
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
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 rosenix-0.1.0.tar.gz.
File metadata
- Download URL: rosenix-0.1.0.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65b179b9b250f2a9ec95af5ddc2a50fa4870d82e3fe27a1e50e9133f03f0d3be
|
|
| MD5 |
6ad9b3bc21cbad9609a9fa54bedb0abe
|
|
| BLAKE2b-256 |
4ba1806101814776d6b41f17be658346fd5c2d1c85d1eeb5b73c08f687cd1353
|
File details
Details for the file rosenix-0.1.0-py3-none-any.whl.
File metadata
- Download URL: rosenix-0.1.0-py3-none-any.whl
- Upload date:
- Size: 27.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43f0f0bb5519861c3c62a4f943ed07dd30291dffdc462c97e4b8f28183718aba
|
|
| MD5 |
78fbfc62c7ca16924bc89b6fedf7fd3a
|
|
| BLAKE2b-256 |
8d9335c5e1bef6b8e228ada94333ee02303897a6d16a97ce81cab288a2497690
|