Metadata-Version: 2.4
Name: amrita_core
Version: 0.9.2
Summary: High performance, flexable, lightweight agent framework.
Project-URL: Homepage, https://github.com/AmritaBot/AmritaCore
Project-URL: Source, https://github.com/AmritaBot/AmritaCore
Project-URL: Issue Tracker, https://github.com/AmritaBot/AmritaCore/issues
Requires-Python: <3.15,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiofiles>=25.1.0
Requires-Dist: aiohttp>=3.13.3
Requires-Dist: aiologic>=0.16.0
Requires-Dist: amrita-sense>=0.3.0
Requires-Dist: fastmcp>=3.2.0
Requires-Dist: filetype>=1.2.0
Requires-Dist: importlib>=1.0.4
Requires-Dist: jinja2>=3.1.6
Requires-Dist: loguru<0.8.0,>=0.7.3
Requires-Dist: openai>=2.16.0
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pytz>=2025.2
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.84.0; extra == "anthropic"
Provides-Extra: jieba
Requires-Dist: jieba>=0.42.1; extra == "jieba"
Provides-Extra: all
Requires-Dist: amrita_core[anthropic,jieba]; extra == "all"
Dynamic: license-file

# AmritaCore

<center><img src="./docs/docs/public/Amrita.png" alt="Logo" width="200" height="200">
<p>
    <a href="https://img.shields.io/pypi/v/amrita-core">
      <img src="https://img.shields.io/pypi/v/amrita-core?color=blue&style=flat-square" alt="PyPI Version">
    </a>
    <a href="https://www.python.org/">
      <img src="https://img.shields.io/badge/python-3.10+-blue?logo=python&style=flat-square" alt="Python Version">
    </a>
    <a href="LICENSE">
      <img src="https://img.shields.io/github/license/AmritaBot/AmritaCore?style=flat-square" alt="License">
    </a>
    <img src="https://img.shields.io/badge/AmritaCore-Soma-blue?style=flat-square" alt="AmritaCore">
    <a href="https://discord.gg/byAD3sbjjj">
      <img src="https://img.shields.io/badge/Discord-Proj.Amrita-blue?logo=discord&style=flat-square" alt="Discord">
    </a>
    <a href="https://qm.qq.com/q/9J23pPZN3a">
      <img src="https://img.shields.io/badge/QQ-1006893368-blue?style=flat-square" alt="QQ Group">
    </a>
  </p>

</center>

AmritaCore is a **lightweight agent framework with infrastructure-level positioning**, serving as the foundational building block for intelligent agent development. **AmritaCore is designed to be interactive-first**, enabling real-time, responsive agent applications through its native async streaming architecture. Think of it as providing the essential "operating system" capabilities for AI agents – offering core primitives and abstractions that enable robust, production-ready agent applications without the overhead of heavyweight frameworks.

## 🚀 What is AmritaCore?

AmritaCore is **not a replacement for existing frameworks** like LangChain or LlamaIndex. Instead, it is a **lightweight, infrastructure-focused agent framework** designed to provide the essential building blocks for AI agent development. Built with modern Python technologies, it delivers fundamental components needed for AI-powered applications with features like event-driven architecture, tool integration, and multi-modal support – all while maintaining minimal dependencies and maximum performance.

## 🎯 Mission and Value Proposition

The mission of AmritaCore is to provide a lightweight yet powerful foundation for agent development that prioritizes simplicity, performance, and flexibility. Our core value propositions include:

- **Stream-based Design**: All message outputs are designed as asynchronous streams for real-time responses
- **Security**: Built-in cookie security detection to ensure session safety
- **Vendor Agnostic**: Data types and conversation management are independent of specific providers, offering high portability
- **Extensibility**: Integrated MCP client in extension mechanisms for enhanced system scalability

## 🔑 Key Features

1. **Every is a Stream**: All message outputs are asynchronous stream-based designs supporting real-time responses
2. **Cookie Security Detection**: Built-in cookie security detection functionality to protect session security
3. **Provider Independent Mechanism**: Data types and conversation management are independent of specific vendors, with high portability
4. **MCP Client Support**: Extension mechanisms integrate MCP clients, enhancing system expansion capabilities
5. **Event-Driven Architecture**: Comprehensive event system for flexible and reactive agent behavior
6. **Tool Integration Framework**: Robust system for integrating external tools and services
7. **Advanced Memory Management**: Sophisticated context handling with automatic summarization and token optimization
8. **Built-in Anthropic support**: AmritaCore provides a native adapter for Anthropic's AI models
9. **High-Performance**: Lightweight and efficient, with high performance.

## 📖 Documentation

Please view [Docs](https://core.amritabot.com) for more information.

## 🛠️ Quick Start

To quickly start using AmritaCore, check out the examples in the [demo](./demo/) directory. The basic example demonstrates how to initialize the core, configure settings, and run a simple chat session with the AI assistant.

## 🤝 Contributing

We welcome contributions! Please see our contribution guidelines for more information.

## 📄 License

This project is licensed under the Apache 2.0 License - see the [LICENSE](./LICENSE) file for details.

### Notes

All versions of AmritaCore are released under the Apache 2.0 License (Although the past versions are released under the MIT/LGPL V3 License, when this readme is created, we will release all versions under the Apache 2.0 License).

## Other files

- [CONTRIBUTING.md](./CONTRIBUTING.md) - Contribution guidelines
- [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) - Code of conduct
- [ZH-CN.md](./readmes/ZH_CN.md)
- [EN-US.md](./readmes/EN_US.md)

## Unstable Features

- `Python 3.14+ Supporting`: we are not sure if it will work well on Python 3.14+(No GIL Version).
