Metadata-Version: 2.4
Name: abstractframework
Version: 0.1.0
Summary: A unified ecosystem for AI-powered applications and intelligent systems
Author-email: Laurent-Philippe Albou <contact@abstractcore.ai>
Maintainer-email: Laurent-Philippe Albou <contact@abstractcore.ai>
License: MIT License
        
        Copyright (c) 2025 Laurent-Philippe Albou
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/lpalbou/AbstractFramework
Project-URL: Documentation, https://github.com/lpalbou/AbstractFramework
Project-URL: Repository, https://github.com/lpalbou/AbstractFramework
Project-URL: Bug Tracker, https://github.com/lpalbou/AbstractFramework/issues
Project-URL: Changelog, https://github.com/lpalbou/AbstractFramework/blob/main/CHANGELOG.md
Project-URL: AbstractCore, https://github.com/lpalbou/AbstractCore
Keywords: ai,llm,agents,memory,swarm,artificial-intelligence,machine-learning,nlp,chatbot,framework,ecosystem
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: core
Requires-Dist: abstractcore[all]>=2.4.0; extra == "core"
Provides-Extra: memory
Requires-Dist: abstractmemory>=0.1.0; extra == "memory"
Provides-Extra: agent
Requires-Dist: abstractagent>=0.1.0; extra == "agent"
Provides-Extra: swarm
Requires-Dist: abstractswarm>=0.1.0; extra == "swarm"
Provides-Extra: available
Requires-Dist: abstractcore[all]>=2.4.0; extra == "available"
Provides-Extra: all
Requires-Dist: abstractcore[all]>=2.4.0; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.5.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.20.0; extra == "docs"
Dynamic: license-file

# AbstractFramework

**A unified ecosystem for AI-powered applications and intelligent systems.**

AbstractFramework is an umbrella project that brings together a comprehensive suite of tools and libraries for building sophisticated AI applications. Each component is designed to work seamlessly together while maintaining independence and modularity.

## 🏗️ Framework Components

### 📚 [AbstractCore](https://github.com/lpalbou/AbstractCore) ✅ **Available**
*Unified Python library for interaction with multiple Large Language Model (LLM) providers.*

**Write once, run everywhere.**

- **Provider Agnostic**: Works with OpenAI, Anthropic, Ollama, and more
- **Tool Calling**: Universal function calling across providers  
- **Structured Output**: Type-safe Pydantic integration
- **Embeddings & RAG**: Built-in vector embeddings for semantic search
- **Session Management**: Persistent conversations and analytics
- **Server Mode**: Optional OpenAI-compatible API server

```python
from abstractcore import create_llm

# Works with any provider
llm = create_llm("anthropic", model="claude-3-5-haiku-latest")
response = llm.generate("What is the capital of France?")
print(response.content)
```

### 🧠 AbstractMemory 🚧 **Coming Soon**
*Advanced memory systems for AI agents and applications.*

- **Persistent Memory**: Long-term storage and retrieval
- **Contextual Memory**: Semantic understanding and associations
- **Memory Hierarchies**: Short-term, working, and long-term memory
- **Memory Compression**: Efficient storage of large contexts
- **Cross-Session Continuity**: Maintain context across interactions

### 🤖 AbstractAgent 🚧 **Coming Soon**
*Intelligent agent framework with reasoning and tool use capabilities.*

- **Autonomous Reasoning**: Multi-step problem solving
- **Tool Integration**: Seamless integration with external tools
- **Goal-Oriented Behavior**: Task planning and execution
- **Learning Capabilities**: Adaptive behavior from experience
- **Safety Mechanisms**: Built-in guardrails and monitoring

### 🐝 AbstractSwarm 🚧 **Coming Soon**
*Multi-agent coordination and swarm intelligence systems.*

- **Agent Orchestration**: Coordinate multiple specialized agents
- **Distributed Processing**: Scale across multiple nodes
- **Emergent Behavior**: Complex behaviors from simple interactions
- **Communication Protocols**: Inter-agent messaging and coordination
- **Collective Intelligence**: Leverage swarm problem-solving

## 🚀 Quick Start

### Installation

```bash
# Install the full framework (when all components are available)
pip install abstractframework[all]

# Or install individual components
pip install abstractcore[all]  # Available now
pip install abstractmemory     # Coming soon
pip install abstractagent      # Coming soon  
pip install abstractswarm      # Coming soon
```

### Basic Usage

```python
import abstractframework as af

# Create an intelligent agent with memory and LLM capabilities
agent = af.create_agent(
    llm_provider="openai",
    model="gpt-4o-mini",
    memory_type="persistent",
    tools=["web_search", "calculator", "file_system"]
)

# Have a conversation with persistent memory
response = agent.chat("Remember that I prefer Python over JavaScript")
print(response)

# The agent remembers across sessions
response = agent.chat("What programming language do I prefer?")
print(response)  # "You prefer Python over JavaScript"
```

## 🎯 Use Cases

### 1. **Intelligent Applications**
Build AI-powered applications with persistent memory, reasoning capabilities, and multi-provider LLM support.

### 2. **Research & Development**
Experiment with different AI architectures, memory systems, and agent behaviors in a unified framework.

### 3. **Enterprise AI Systems**
Deploy scalable AI solutions with swarm intelligence, distributed processing, and robust memory management.

### 4. **Educational Projects**
Learn AI concepts through hands-on experimentation with agents, memory systems, and LLM interactions.

## 🏛️ Architecture Philosophy

AbstractFramework follows key design principles:

- **🔧 Modularity**: Each component works independently and together
- **🔄 Interoperability**: Seamless integration between components
- **📈 Scalability**: From single agents to distributed swarms
- **🛡️ Robustness**: Production-ready with comprehensive error handling
- **🎨 Flexibility**: Adapt to diverse use cases and requirements
- **📚 Simplicity**: Clean APIs that hide complexity without limiting power

## 📊 Project Status

| Component | Status | Version | Documentation |
|-----------|--------|---------|---------------|
| AbstractCore | ✅ **Available** | 2.4.1 | [Complete](https://github.com/lpalbou/AbstractCore) |
| AbstractMemory | 🚧 **In Development** | - | Coming Soon |
| AbstractAgent | 🚧 **Planned** | - | Coming Soon |
| AbstractSwarm | 🚧 **Planned** | - | Coming Soon |

## 🤝 Contributing

We welcome contributions to any component of the AbstractFramework ecosystem!

- **AbstractCore**: [Contributing Guide](https://github.com/lpalbou/AbstractCore/blob/main/CONTRIBUTING.md)
- **Other Components**: Contributing guides will be available as components are released

## 📄 License

MIT License - see LICENSE file for details.

All components of AbstractFramework are released under the MIT License to ensure maximum compatibility and adoption.

## 🔗 Links

- **AbstractCore Repository**: https://github.com/lpalbou/AbstractCore
- **Documentation**: Coming soon
- **Community Discussions**: Coming soon
- **Issue Tracker**: Coming soon

## 🌟 Vision

AbstractFramework aims to democratize AI development by providing:

1. **Unified Interfaces**: Consistent APIs across all AI capabilities
2. **Production Ready**: Enterprise-grade reliability and performance  
3. **Research Friendly**: Easy experimentation and prototyping
4. **Community Driven**: Open source with active community involvement
5. **Future Proof**: Designed to evolve with AI advancements

---

**AbstractFramework** - *Building the future of AI applications, one component at a time.*

> **Note**: This is currently a placeholder project. AbstractCore is fully functional and available. Other components are in various stages of development. Star this repository to stay updated on releases!
