📖 DigitalKin.ai - KinKernel
Welcome to the DigitalKin KinKernel ! This package is designed to enable developers to create Cells, which are autonomous agents that can be integrated into the Internet of Agents (IoA) ecosystem powered by DigitalKin.
👀 Overview
The KinKernel provides a framework for creating and managing Cells. Each Cell represents a distinct autonomous agent with a specific role and behavior within the IoA. The KinKernel ensures that all Cells adhere to a standard interface and can communicate effectively within the ecosystem.
💡 Features
- Abstract base classes for standardizing Cell creation
- Response models for consistent communication
- Helper methods for schema information access
- Configuration management
- Example Cell implementation
🛠️ Installation
Before installing the KinKernel, ensure you have Python installed on your system. This package requires Python 3.10 or higher.
To install the KinKernel With pipy:
pip install kin-kernel
Or clone the repository and install the dependencies:
git clone https://github.com/DigitalKin/kin-kernel.git
cd kin-kernel-kit
pip install -r requirements/prod.txt
For development purposes, you may also want to install the development dependencies:
pip install -r requirements/dev.txt
✨ Linter
Execute linters:
flake8 kinkernel
black kinkernel --check --diff
black kinkernel
mypy kinkernel
pylint kinkernel
💻 Usage
To create a new Cell, you'll need to subclass the Cell class provided in the kinKernel and implement the required methods and properties.
Here's a simple example of a Cell that processes input data:
from pydantic import BaseModel
from kinkernel import Cell
from kinkernel.config import ConfigModel, EnvVar
class MyInputModel(BaseModel):
value1: int
value2: str
class MyOutputModel(BaseModel):
processed_value: int
class MyCell(Cell[MyInputModel, MyOutputModel]):
role = "Processor"
description = "Processes input data"
input_format = MyInputModel
output_format = MyOutputModel
config = ConfigModel(
env_vars=[
EnvVar(key="ENV_VAR_1", value="value1"),
EnvVar(key="ENV_VAR_2", value="value2"),
]
)
async def _execute(self, input_data: MyInputModel) -> MyOutputModel:
# Process the input_data as needed
exec_result = {"processed_value": input_data.value1 * 2}
return MyOutputModel(**exec_result)
You can then instantiate and execute your Cell as follows:
my_cell = MyCell()
input_data = MyInputModel(value1=10, value2="example")
output_data = my_cell.execute(input_data)
print(output_data)
For a more detailed example, refer to the examples/simple_cell_example.py file in the repository.
🧪 Testing
The CDK comes with a set of unit tests to ensure that your Cells work as expected. To run the tests, execute the following command:
pytest
👥 Contribution
Contributions to the KinKernel are welcome! If you have suggestions for improvements or find any issues, please open an issue on our GitHub repository.
🤗 Support
If you have any questions or need support with the KinKernel, please reach out to us at contact@digitalkin.ai.
Thank you for using the DigitalKin Cell Development Kit. We look forward to seeing the innovative Cells you'll create for the Internet of Agents!
Kin-kernel © 2023 by DigitalKin is licensed under CC BY-NC-SA 4.0
Metadata
Release files for kin-kernel 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kin-kernel-0.0.5.tar.gz | 22.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kin_kernel-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.0 kB
Release files / kin-kernel-0.0.5.tar.gz
| Download URL | kin-kernel-0.0.5.tar.gz |
|---|---|
| Size | 22.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10fd1b85ccc49ad9c12bd093b44555c57c748af991f785c19c600c3e1f92db50
|
|
BLAKE2b-256 checksum How to use checksums |
5313740003ae976a1858f2f4254a5cff27d49a83386d6d3d08f9b9e91b5a41fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|
Release files / kin_kernel-0.0.5-py3-none-any.whl
| Download URL | kin_kernel-0.0.5-py3-none-any.whl |
|---|---|
| Size | 27.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e23b352cfbed34f16ee22ea09c3bbf1c074561b000c8a18466da8cfeac776e0
|
|
BLAKE2b-256 checksum How to use checksums |
beb396802b517ea73639905fb7fb15ecedf4f4897f64c36a832936fe6acad8be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|