Akgents – Actor Based Agents (open source) B12 Consulting released Akgentic, an open-source actor-based multi-agent framework for Python 3.12+, available on PyPI as the meta-distribution akgentic-framework. The framework ships eight packages — akgentic-core, akgentic-llm, akgentic-tool, akgentic-team, akgentic-agent, akgentic-catalog, akgentic-infra, and an Angular akgentic-frontend — covering actor messaging, multi-provider LLM integration with the REACT pattern, tool abstractions with MCP and web search, and YAML/MongoDB team persistence. Installable via pip install "akgentic-framework[all]", with mutually exclusive mongo and postgres persistence backends and per-extra pins that fix each subpackage's whole dependency closure at the tested release versions. Modern actor-based agent framework for Python 3.12+ A comprehensive framework for building intelligent multi-agent systems with LLM integration, dynamic team composition, and actor-based architecture. | Package | CI | Coverage | Dependencies | |---|---|---|---| | akgentic-core https://github.com/b12consulting/akgentic-core Actor framework, messaging, and orchestrator | | | — | | akgentic-llm https://github.com/b12consulting/akgentic-llm Multi-provider LLM integration and REACT pattern | | | — | | akgentic-tool https://github.com/b12consulting/akgentic-tool Tool abstractions, workspace, planning, web search, MCP, ... | | | core | | akgentic-team https://github.com/b12consulting/akgentic-team Team lifecycle, event sourcing, YAML/MongoDB persistence | | | core | | akgentic-agent https://github.com/b12consulting/akgentic-agent LLM-powered agents with typed message routing | | | core, llm, tool | | akgentic-catalog https://github.com/b12consulting/akgentic-catalog Configuration registry for teams, YAML/MongoDB persistence | | | core, llm, tool, team | | akgentic-infra https://github.com/b12consulting/akgentic-infra Infrastructure backend — protocol abstractions, community/department/enterprise tiers | | | core, llm, tool, agent, catalog, team | | akgentic-frontend https://github.com/b12consulting/akgentic-frontend Angular-based web UI | — | — | — | This root package serves as the quick-start entry point for the Akgentic framework, providing complete examples that demonstrate the full capabilities of multi-agent team coordination. Akgentic is on PyPI. To install the whole framework: pip install "akgentic-framework all " Add the optional backends and heavier tool extras Mongo persistence, vector search, document parsing, … : pip install "akgentic-framework all-extras " akgentic-framework is a meta-distribution: it contains no code of its own, only a pinned set of requirements, so an extra installs the exact subpackage versions that were built and tested together for that release. Extras compose, and each one pins its whole akgentic dependency closure at the versions of this release — so agent fixes akgentic-llm and akgentic-tool too, rather than letting them resolve to whatever is newest. | Extra | Installs | |---|---| | core | akgentic-core | | llm | akgentic-llm | | tool | akgentic-tool + akgentic-core | | agent | akgentic-agent + akgentic-llm , akgentic-tool , akgentic-core | | team | akgentic-team + akgentic-core | | catalog | akgentic-catalog + akgentic-team , akgentic-tool , akgentic-core | | infra | akgentic-infra + the whole set | | postgres | akgentic-catalog postgres , akgentic-team postgres + their closure | pip install "akgentic-framework agent,catalog " mongo and postgres are mutually exclusive persistence backends, so all-extras ships the Mongo flavour. Compose the other one explicitly: pip install "akgentic-framework all,postgres " The base install is the actor framework alone akgentic.core , so it stays a usable minimal floor: pip install akgentic-framework Subpackages can also be installed directly — pip install akgentic-agent — which is the right choice when you depend on one part and do not want a release-wide pin. Cloning this repository and syncing installs the release set from PyPI — no submodules needed. This is what you want to try the examples below: git clone https://github.com/b12consulting/akgentic-framework.git cd akgentic-framework uv sync source .venv/bin/activate uv sync installs every subpackage with its optional extras, so the demos run immediately. Published metadata stays lean: pip install akgentic-framework still gets akgentic.core alone. The full set comes from a uv dependency group, which pip ignores. To change subpackage code rather than just use it, switch the same checkout into source mode. Initialise the submodules first — uv reports a confusing error if a workspace member directory is missing: 1. Fetch the sources, pinned at the release tags this version pins git submodule update --init 2. Uncomment the two blocks under "SOURCE MODE" in pyproject.toml 3. Re-sync; akgentic- now resolve to the local sources, editable uv sync The submodules are pinned at the exact commits their release tags point to, so what you get is the code this release was built from — uv run python scripts/verify submodules.py checks it. Because every package's own CI resolves its dependencies from PyPI, this is the only place unreleased cross-package changes are exercised together. Two things to expect: - uv.lock is rewritten when you switch modes. That diff is expected; don't commit it — git checkout uv.lock when you're done. - The == pins still apply to the local sources. Bump a submodule's version and uv sync fails until you regenerate the pins with scripts/sync versions.py . That's deliberate: the pin table is the declared release set. To check how the published metadata resolves without re-commenting anything, use uv sync --no-sources . After installation, open two terminals to launch the backend and the web UI: Terminal 1 — Start the backend server: source .venv/bin/activate Set your API keys get them from https://platform.openai.com/api-keys and https://app.tavily.com/ export OPENAI API KEY="your-openai-api-key" export TAVILY API KEY="your-tavily-api-key" Launch the server param --logfire enables structured logging, https://logfire-eu.pydantic.dev/ python src/infra server.py Terminal 2 — Start the web UI: The frontend is an Angular app published from its own repository, and it is not part of the Python install — fetch its sources before the first run: git submodule update --init packages/akgentic-frontend cd packages/akgentic-frontend npm install npm start Once both are running: - Web UI — http://localhost:4200 http://localhost:4200 — create and interact with agent teams visually - API docs — http://localhost:8000/docs http://localhost:8000/docs — interactive OpenAPI Swagger interface to explore and test all REST endpoints By default, the server stores team catalogs in ./data/catalog/ and the event store in ./data/event store/ . These paths are configurable via the CommunitySettings class or environment variables prefixed with AKGENTIC . The src/agent team/main.py https://github.com/b12consulting/akgentic-framework/blob/master/src/agent team/main.py example demonstrates a complete multi-agent team system from a simple python script without the full infrastructure. What it demonstrates: - Building a team with Manager, Assistant, and Expert roles using AgentCard - Interactive chat loop with @mention routing e.g., @Expert help me - HumanProxy for human-to-agent communication - EventSubscriber for real-time message flow visibility - Dynamic team composition Manager can hire Assistant/Expert on demand - Slash commands: /team , /roles , /planning , /hire