Skip to main content

A modular, explicit, non-magical framework for building AI-powered software systems.

Project description

Rosenix

CI License: MIT

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rosenix-0.1.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rosenix-0.1.0-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

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

Hashes for rosenix-0.1.0.tar.gz
Algorithm Hash digest
SHA256 65b179b9b250f2a9ec95af5ddc2a50fa4870d82e3fe27a1e50e9133f03f0d3be
MD5 6ad9b3bc21cbad9609a9fa54bedb0abe
BLAKE2b-256 4ba1806101814776d6b41f17be658346fd5c2d1c85d1eeb5b73c08f687cd1353

See more details on using hashes here.

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

Hashes for rosenix-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 43f0f0bb5519861c3c62a4f943ed07dd30291dffdc462c97e4b8f28183718aba
MD5 78fbfc62c7ca16924bc89b6fedf7fd3a
BLAKE2b-256 8d9335c5e1bef6b8e228ada94333ee02303897a6d16a97ce81cab288a2497690

See more details on using hashes here.

Supported by

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