A core library for the Lion framework
Project description
🦁 Lion-Core: Unleash the Power of AI Development
Lion-Core is a lightweight yet powerful Python library designed to serve as a foundational framework for machine learning, artificial intelligence, workflow automation, scientific computing, and advanced data management.
🌟 Highlights
Feature | Description |
---|---|
🧘♂️ Minimal Dependencies | Built with only Pydantic , ensuring a lightweight and maintainable codebase |
🧩 Extensible Architecture | Modular design adaptable to a wide range of computational needs |
⚡ Performance-Focused | Optimized data structures and algorithms for efficient large-scale data processing |
🛡️ Type-Safe | Leveraging Pydantic for robust type checking and data validation |
🚀 Features
📊 Advanced Data Structures
- Pile: A flexible container combining the best of lists and dictionaries, offering efficient access and powerful querying capabilities.
- Progression: An ordered sequence container designed for high-performance operations on large datasets.
- Flow: A versatile structure for managing complex workflows and data pipelines.
🧱 Core Components
- Element: A foundational class serving as the building block for creating modular and composable components.
- Node: An extension of Element, designed for creating interconnected components in a graph-like structure.
- Exchange: A system for managing asynchronous communication between components.
🛠️ Utility Systems
- Converter System: A flexible framework for seamless data conversion between various formats.
- Form and Validator System: Dynamic tools for creating and validating complex data structures and workflows.
- Rule System: A powerful mechanism for defining and enforcing business logic and data constraints.
💬 Communication Framework
- Message System: A robust inter-component messaging system, facilitating the development of distributed and microservices-based applications.
- Mail Manager: An advanced system for managing asynchronous communication across different components and processes.
🧠 AI and Machine Learning Tools
- Action System: A framework for defining and executing AI actions and function calls.
- Session Management: Tools for managing conversational contexts and multi-turn interactions in AI systems.
🏗️ Architecture
Lion-Core's architecture is designed to be both powerful and flexible, allowing developers to build complex AI and machine learning applications with ease. The following diagram illustrates the high-level architecture and key components of the library:
flowchart TB
subgraph Lion-Core
direction TB
Core[Core Components]
Data[Data Structures]
Comm[Communication]
Util[Utility Systems]
AI[AI and ML Tools]
end
subgraph CoreComponents
direction LR
Core --> Element
Core --> Node
Element --> |extends| Node
end
subgraph DataStructures
direction LR
Data --> Pile
Data --> Progression
Data --> Flow
end
subgraph Communication
direction LR
Comm --> MessageSystem
Comm --> MailManager
Comm --> Exchange
end
subgraph UtilitySystems
direction LR
Util --> ConverterSystem
Util --> FormValidator[Form & Validator]
Util --> RuleSystem
end
subgraph AIMLTools
direction LR
AI --> ActionSystem
AI --> SessionManagement
end
%% Relationships
Node -.-> Pile
Node -.-> Progression
Node -.-> Flow
MessageSystem --> MailManager
MailManager --> Exchange
FormValidator --> RuleSystem
ActionSystem --> SessionManagement
%% Styling
classDef coreColor fill:#f9d,stroke:#333,stroke-width:2px;
classDef dataColor fill:#afd,stroke:#333,stroke-width:2px;
classDef commColor fill:#ddf,stroke:#333,stroke-width:2px;
classDef utilColor fill:#fda,stroke:#333,stroke-width:2px;
classDef aiColor fill:#dff,stroke:#333,stroke-width:2px;
classDef mainColor fill:#f5f5f5,stroke:#333,stroke-width:4px;
class Core,Element,Node coreColor;
class Data,Pile,Progression,Flow dataColor;
class Comm,MessageSystem,MailManager,Exchange commColor;
class Util,ConverterSystem,FormValidator,RuleSystem utilColor;
class AI,ActionSystem,SessionManagement aiColor;
class Lion-Core mainColor;
Each component can be used independently or in combination with others, enabling modular and scalable application development.
📦 Installation
To install the latest stable version from PyPI:
pip install lion-core
For the latest development version:
pip install git+https://github.com/lion-agi/lion-core.git
🛠️ Development Setup
Click to expand
-
Clone the repository:
git clone https://github.com/lion-agi/lion-core.git cd lion-core
-
Set up a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install dependencies:
pip install -e .[dev]
-
Set up pre-commit hooks:
pre-commit install
-
Run tests:
pytest --asyncio-mode=auto --maxfail=1 --disable-warnings tests/
-
Check code style:
black --check . isort --check-only .
-
(Optional) Run pre-commit hooks manually:
pre-commit run --all-files
Note: Pre-commit hooks will run automatically on git commit
. If any checks fail, the commit will be aborted. Fix the issues and try committing again.
📚 Documentation
We are continuously improving our documentation to help you get the most out of Lion-Core. Here's what's available:
Type | Description | Location |
---|---|---|
📘 Reference Docs | API references and core concepts | API References |
💻 Inline Docs | Detailed docstrings for all components | Within source code |
📓 Examples & Tutorials | (Coming Soon) Jupyter notebooks | examples/ directory |
🌐 Online Docs | (Planned) Comprehensive searchable documentation | TBA |
Our reference documentation includes:
- Comprehensive API documentation for all modules
- In-depth explanations of key concepts and data structures
- Usage guidelines and best practices
Stay tuned for updates as we continue to expand our documentation!
🛣️ Roadmap
As we work towards stable releases, our focus includes:
- Enhancing core abstractions and data structures
- Expanding the converter system for broader compatibility
- Refining workflow automation processes
- Developing additional scientific computing utilities
- Improving documentation and adding comprehensive examples
We're committed to evolving Lion-Core to meet the needs of our community. Your feedback and contributions are crucial in shaping the future of this library.
🤝 Contributing
We welcome contributions from the community! Whether it's bug fixes, feature additions, or documentation improvements, your input is valuable. Please check our CONTRIBUTING.md for guidelines on how to contribute.
If you're planning to work on a significant change, please open an issue first to discuss your ideas. This helps ensure your time is well spent and that the changes align with the project's direction.
📄 License
Lion-Core is released under the Apache License 2.0. See the LICENSE file for details.
📬 Contact & Community
- 🐛 Issues & Feature Requests: GitHub Issues
- 💬 Discussions & Support: Join our Discord Server
We're building a community of developers, researchers, and AI enthusiasts. Join us in shaping the future of AI development!
Note: Lion-Core is an extraction and refinement of core components from the larger lionagi project. After reaching version 0.1.0, development will continue on Lion-Core while also informing a rewrite of the lionagi library.
Thank you for your interest in Lion-Core. Together, let's unleash the power of AI development! 🦁✨
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lion_core-0.2.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b291eca55a112c338f0e5b6c7b5eec3f986d6888d1478f27a19e50bcac3a2ccd |
|
MD5 | 8966748e2eea97b1ad74806d846ee7b4 |
|
BLAKE2b-256 | 46f80c6f2b87afbe8d67d1e9a7fc3a5a86683056057a972ec0471b15365d5cc9 |