A core library for the Lion framework
Project description
Lion-Core
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. With a focus on simplicity and extensibility, Lion-Core aims to provide a robust toolkit for complex computational tasks while maintaining a minimal dependency footprint.
Note: Lion-Core is currently in alpha testing. Expect frequent updates and potential API changes.
🌟 Highlights
- Minimal Dependencies: Built with only
Pydantic
as a dependency, ensuring a lightweight and easily maintainable codebase. - Extensible Architecture: Designed from the ground up to be modular and adaptable to a wide range of computational needs.
- Performance-Focused: Optimized data structures and algorithms for efficient large-scale data processing.
🚀 Current Features
-
Advanced Data Structures:
Pile
: A flexible container that combines 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.
-
Robust Type System: Leveraging Pydantic for data validation, ensuring type safety and data integrity across your entire project.
-
Converter System: A flexible framework for seamless data conversion between various formats.
-
Element-based Architecture: A foundational
Element
class that serves as the building block for creating modular and composable components. -
Communication Framework: A groundwork for inter-component messaging, facilitating the development of distributed and microservices-based applications.
-
Form and Validator System: Dynamic workflow manipulation tools that allow for flexible and adaptable process designs.
-
Worker System: Powerful workflow composition capabilities, enabling the creation of complex, multi-stage computational pipelines.
🛣️ Roadmap
We're currently working towards version 0.1.0, focusing on:
- Polishing core abstractions and data structures
- Enhancing the converter system for broader compatibility
- Refining workflow automation processes
- Expanding scientific computing utilities
📦 Installation
As Lion-Core is in alpha testing, it's not yet available on PyPI. You can install the development version directly from the repository:
pip install git+https://github.com/lion-agi/lion-core.git
🛠️ Development Environment Setup
To set up the development environment for Lion-Core:
-
Clone the repository:
git clone https://github.com/lion-agi/lion-core.git cd lion-core
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install dependencies:
pip install -e .[dev]
-
Run tests:
pytest --maxfail=1 --disable-warnings tests/
-
Check code style and run linters:
black --check . isort --check-only . flake8 .
📚 Documentation
Comprehensive documentation is under development. For now, please refer to the inline documentation and comments in the source code.
🤝 Contributing
We welcome contributions! As the project is in its early stages, please open an issue to discuss potential changes before submitting pull requests.
📄 License
Lion-Core is released under the Apache License 2.0. See the LICENSE file for details.
📬 Contact
For questions, support, or to discuss potential collaborations, please open an issue on our GitHub repository.
Join our Discord community for discussions, support, and updates: Lion-Core Discord Server
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.
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.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41c0cb6f4086bdd62d5fd4e6054d44dd146a44ebb9775e07aafc0bcce9a2270b |
|
MD5 | 12c740606f5c3bd85c2af2efb218ede8 |
|
BLAKE2b-256 | d0f6588cef7b7ef006c652fe7a830cedcd92cd43b0e5a59645634b9739a9398b |