📖 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 | Provenance | Actions |
|---|---|---|---|---|
| kin-kernel-0.0.5.tar.gz | 22.4 kB | Without provenance | Details for kin-kernel-0.0.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kin_kernel-0.0.5-py3-none-any.whl | Python 3 | none | any | Details for kin_kernel-0.0.5-py3-none-any.whl |
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
|
Security for kin-kernel 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.