Catalog PyPI
Back to packageRELEASE DETAILS

0.2.10

PyPI

agentic-kernel

A Python library for building agentic applications

agentsaiautomationlangchainopenaisemantic-kernel
Published13 Apr 2025
Direct dependencies47
Transitive dependenciesNot calculated

README

Version 0.2.10 documentation

Agentic Kernel: A Modular Framework for Autonomous AI Agents

License: MIT Python Version

Code style: black

Build, orchestrate, and manage sophisticated multi-agent systems with ease.

Agentic Kernel provides a robust and flexible foundation for creating autonomous AI agents that can collaborate, reason, and execute complex tasks. Inspired by frameworks like Semantic Kernel and Autogen, it offers a modular architecture, dynamic workflow management, and seamless integration capabilities.


✨ Key Features

  • 🤖 Modular Multi-Agent Architecture: Design systems with specialized agents, dynamic registration, and secure communication.
  • ⚙️ Sophisticated Workflow Engine: Intelligently decompose tasks, track progress in real-time, handle errors gracefully, and manage concurrent execution.
  • 🧠 Dynamic Planning & Orchestration: Features a powerful Orchestrator Agent capable of creating, managing, and adapting complex plans using a nested loop architecture.
  • 🔌 Pluggable Components: Easily extend functionality with custom plugins, tools, and memory systems.
  • 💬 Standardized Communication: Agents interact using a clear and consistent message format, compliant with Google's A2A (Agent-to-Agent) interoperability standard.
  • 🖥️ Interactive UI: Includes a Chainlit-based interface for real-time interaction, task visualization, and monitoring.
  • 🛠️ Rich Tooling & Integration: Leverage built-in tools and integrate with external systems (e.g., via MCP).

🚀 Getting Started

Follow these steps to get Agentic Kernel up and running on your local machine.

Prerequisites:

  • Python 3.10 or higher
  • uv (recommended) or pip package manager
  • Git (for cloning the repository)

Installation & Setup:

  1. Clone the Repository (if you haven't already):

    git clone https://github.com/qredence/agentic-kernel.git # Replace with your repo URL
    cd agentic-kernel
    
  2. Create and Activate a Virtual Environment:

    • Using uv (Recommended):
      # Install uv if you don't have it (e.g., pip install uv)
      uv venv
      source .venv/bin/activate
      
    • Using standard venv:
      python -m venv .venv
      source .venv/bin/activate # On Windows use: .venv\Scripts\activate
      
  3. Install Dependencies:

    # Using uv
    uv pip install -r requirements.txt
    
    # Using pip
    # pip install -r requirements.txt
    

    Note: If you plan to develop the kernel itself, you might install it in editable mode:

    # uv pip install -e .
    # pip install -e .
    
  4. Configure Environment Variables:

    • Copy the example environment file:
      cp .env.example .env
      
    • Edit the .env file and add your API keys and endpoints for required services (e.g., Azure OpenAI, specific tools).

Running the Chainlit UI:

  1. Ensure your virtual environment is active.

  2. Run the application using the provided script or manually:

    • Using the script:

      ./scripts/run_chainlit.sh
      

      (This script conveniently handles activating the environment and setting the PYTHONPATH)

    • Manually with Chainlit:

      chainlit run src/agentic_kernel/app.py -w
      

      (The -w flag enables auto-reloading during development)

  3. Access the application in your web browser, typically at http://localhost:8000.

🏛️ System Architecture

Agentic Kernel employs a modular design centered around interacting components:

src/agentic_kernel/
├── agents/         # Specialized agent implementations (e.g., Orchestrator, Worker)
├── communication/  # Protocols and message formats for inter-agent communication
├── config/        # Configuration loading and management
├── ledgers/       # State tracking for tasks and progress
├── memory/        # Systems for agent memory and knowledge storage
├── orchestrator/  # Core logic for workflow planning and execution
├── plugins/       # Extensible plugin system for adding capabilities
├── systems/       # Foundational system implementations
├── tools/         # Reusable tools agents can leverage
├── ui/           # User interface components (e.g., Chainlit app)
├── utils/        # Helper functions and utilities
└── workflows/     # Definitions and handlers for specific workflows

A2A Compliance

Agentic Kernel is compliant with Google's A2A (Agent-to-Agent) interoperability standard, which enables seamless communication and collaboration between different agent systems. Key A2A features include:

  • Capability Discovery: Agents can advertise their capabilities and discover the capabilities of other agents.
  • Agent Discovery: Agents can announce their presence and find other agents in the system.
  • Standardized Message Format: All agent communication follows a consistent format with required A2A fields.
  • Consensus Building: Agents can request and build consensus on decisions.
  • Conflict Resolution: The system provides mechanisms for detecting and resolving conflicts between agents.
  • Task Decomposition: Complex tasks can be broken down into subtasks and distributed among agents.
  • Collaborative Memory: Agents can share and access a common memory space.

To test A2A compliance, run the provided test script:

python src/debug/test_a2a_compliance.py

Core Concepts

  • Agents: Autonomous units with specific capabilities (e.g., planning, executing, validating). The OrchestratorAgent is key for managing complex tasks.
  • Workflows: Sequences of steps managed by the Workflow Engine, involving task decomposition, execution, and monitoring.
  • Communication Protocol: A standardized JSON format for messages exchanged between agents.
  • Ledgers: Track the state and progress of tasks and workflows.
  • Plugins & Tools: Extend agent functionality by providing access to external capabilities or data.

Refer to the code documentation within each directory for more detailed information.

📚 Examples & Usage

Explore the capabilities of Agentic Kernel through practical examples:

  • Core Feature Examples (docs/examples/): Detailed markdown files demonstrating specific functionalities like:

    • Advanced Plugin Usage
    • Agent Communication Patterns
    • Basic Workflow Definition
    • Memory System Interaction
    • Orchestrator Features (Conditional Steps, Dynamic Planning, Error Recovery)
    • Workflow Optimization
  • Multi-Agent System (examples/adk_multi_agent/): A complete example showcasing collaboration between multiple agents (Task Manager, Worker, Validator).

🤝 Contributing

We welcome contributions! Please read our CONTRIBUTING.md guide to learn about our development process, how to propose bug fixes and improvements, and coding standards.

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.

🐛 Debugging

  • The src/debug/ directory contains scripts useful for isolating and testing specific components of the kernel. Explore these scripts if you encounter issues or want to understand individual parts better.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 48

Native requirements
47 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
aiohttp
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
aiohttp<4.0.0,>=3.11.14runtime
asyncio
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
asyncio<4.0.0,>=3.4.3runtime
asyncpg
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
asyncpg<1.0.0,>=0.29.0runtime
azure-ai-documentintelligence
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
azure-ai-documentintelligence<1.1.0,>=1.0.2runtime
azure-ai-evaluation
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
azure-ai-evaluation<1.6.0,>=1.5.0runtime
azure-ai-inference
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
azure-ai-inference<2.0.0,>=1.0.0b1runtime
azure-ai-projects
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
azure-ai-projects<2.0.0,>=1.0.0b6runtime
azure-core
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
azure-core<2.0.0,>=1.30.1runtime
azure-identity
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
azure-identity<2.0.0,>=1.15.0runtime
azure-search-documents
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
azure-search-documents<12.0.0,>=11.6.0b10runtime
azure-storage-blob
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
azure-storage-blob<13.0.0,>=12.19.0runtime
beautifulsoup4
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
beautifulsoup4<4.14.0,>=4.13.3runtime
chainlit
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
chainlit<3.0.0,>=2.4.400runtime
fastapi
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
fastapi<0.116.0,>=0.115.12runtime
google-adk
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
google-adk<0.2.0,>=0.1.1runtime
httpx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
httpx<0.29.0,>=0.28.1runtime
langchain
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
langchain<1.0.0,>=0.0.309runtime
markitdown
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
markitdown<0.2.0,>=0.1.1runtime
matplotlib
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
matplotlib<3.11.0,>=3.10.1runtime
mem0ai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
mem0ai<0.2.0,>=0.1.90runtime
networkx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
networkx<3.5.0,>=3.4.2runtime
openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
openai<1.73.0,>=1.72.0runtime
playwright
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
playwright<2.0.0,>=1.51.0runtime
psutil
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
psutil<6.0.0,>=5.9.5runtime
pyautogui
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pyautogui<1.0.0,>=0.9.54runtime
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic<3.0.0,>=2.6.3runtime
pydot
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydot<3.1.0,>=3.0.4runtime
python-dotenv
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
python-dotenv<1.2.0,>=1.1.0runtime
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
requests<3.0.0,>=2.31.0runtime
rich
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
rich<15.0.0,>=14.0.0runtime
ruff
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
ruff<1.0.0,>=0.11.4runtime
semantic-kernel
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
semantic-kernel<1.29.0,>=1.28.0runtime
starlette
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
starlette<0.42.0,>=0.41.3runtime
tabulate
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
tabulate<0.10.0,>=0.9.0runtime
typer
Environment
{
  "extras": "all",
  "marker": null,
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
typer[all]<1.0.0,>=0.15.2runtime
black
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
black<25.0.0,>=24.10.0; extra == "dev"runtime
coverage
Environment
{
  "extras": "toml",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
coverage[toml]<8.0.0,>=7.4.0; extra == "dev"runtime
isort
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
isort<6.0.0,>=5.13.2; extra == "dev"runtime
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
mypy<2.0.0,>=1.15.0; extra == "dev"runtime
pylint
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pylint<4.0.0,>=3.1.0; extra == "dev"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio<0.27.0,>=0.26.0; extra == "dev"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest<9.0.0,>=8.3.5; extra == "dev"runtime
responses
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
responses<1.0.0,>=0.25.0; extra == "dev"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
ruff<1.0.0,>=0.11.4; extra == "dev"runtime
sphinx-rtd-theme
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
sphinx-rtd-theme<1.4.0,>=1.3.0; extra == "dev"runtime
sphinx
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
sphinx<8.0.0,>=7.0.0; extra == "dev"runtime
types-requests
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-requests<3.0.0,>=2.31.0; extra == "dev"runtime
types-tabulate
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.14,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-tabulate<0.10.0,>=0.9.0; extra == "dev"runtime

Distribution files

2 collected
agentic_kernel-0.2.10-py3-none-any.whl

bdist_wheel · 261.93 KB · Python py3

Source file
agentic_kernel-0.2.10.tar.gz

sdist · 1,090.45 KB · Python source

Source file

Repository

PENDING
qredence/agentic-kernel

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:17 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:9bb9472ed2f10f4782b111ee600f0eb83d16b84e31b6ffab304236e9b42b0e9d

Other collected versions

View all collected versions →