SDK to build kin used in DigitalKin
Project description
DigitalKin Python SDK
Welcome to the DigitalKin Python SDK, a powerful tool designed for developers who aim to build and manage agents within multi-agent systems according to the innovative DigitalKin agentic mesh standards. This SDK streamlines the process of creating and managing custom Tools, Triggers, and Kin Archetypes while ensuring full compliance with the DigitalKin ecosystem's standards.
🚀 Features
- Seamless Integration: Easily integrate with DigitalKin's services using our comprehensive gRPC support.
- Customizable Agents: Build custom agents and manage their lifecycle efficiently.
- Standards Compliance: Adhere to the latest DigitalKin agentic mesh standards.
- Robust Development Tools: Utilize advanced development tools for testing, building, and deploying your projects.
📦 Installation
To install the DigitalKin SDK, simply run:
pip install digitalkin
Optional Taskiq Integration: Asynchronous task execution powered by Taskiq, backed by RabbitMQ and Redis To enable the Rabbitmq streaming capabilities, run:
sudo rabbitmq-plugins enable rabbitmq_stream
# Core + Taskiq integration (RabbitMQ broker)
pip install digitalkin[taskiq]
🛠️ Usage
Basic Import
Start by importing the necessary modules:
import digitalkin
Features
Taskiq with RabbitMQ
TaskIQ intergration allows the module to scale for heavy CPU tasks by having the request's stateless module in a new instance.
- Decoupled Scalability: RabbitMQ brokers messages, letting producers and consumers scale independently.
- Reliability: Durable queues, acknowledgements, and dead-lettering ensure tasks aren’t lost.
- Concurrency Control: Taskiq’s worker pool manages parallel execution without custom schedulers.
- Flexibility: Built-in retries, exponential backoff, and Redis result-backend for resilient workflows.
- Ecosystem: Battle-tested
aio-pikaAMQP client plus Taskiq’s decorator-based API.
By combining Taskiq’s async API with RabbitMQ’s guarantees, you get a robust, production-ready queue with minimal boilerplate.
👷♂️ Development
Prerequisites
Ensure you have the following installed:
- Python 3.10+
- uv - Modern Python package management
- buf - Protocol buffer toolkit
- protoc - Protocol Buffers compiler
- Task - Task runner
Setting Up Your Development Environment
Clone the repository and set up your environment with these commands:
# Clone the repository with submodules
git clone --recurse-submodules https://github.com/DigitalKin-ai/digitalkin.git
cd digitalkin
# Setup development environment
task setup-dev
task setup-dev
source .venv/bin/activate
Common Development Tasks
Utilize the following commands for common tasks:
# Build the package
task build-package
# Run tests
task run-tests
# Format code using Ruff linter and formatter
task linter
# Clean build artifacts
task clean
# Bump version (major, minor, patch)
task bump-version -- major|minor|patch
Publishing Process
- Update code and commit changes. (following conventional branch/commit standard)
- Use
task bump-version -- major|minor|patchcommand to commit new version. - Use GitHub "Create Release" workflow to plublish the new version.
- Workflow automatically publishes to Test PyPI and PyPI.
📄 License
This project is licensed under the terms specified in the LICENSE file.
For more information, please visit our Homepage, check our Documentation, or report issues on our Issues page.
Happy coding! 🎉🚀
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file digitalkin-0.3.2b3.tar.gz.
File metadata
- Download URL: digitalkin-0.3.2b3.tar.gz
- Upload date:
- Size: 157.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05b60a4ddcb6969d7dfee5443d6a0a51b756e39579a0e5de4405ae1d3a15e050
|
|
| MD5 |
4ec05531bc70cf3ab20dc28e2bf54867
|
|
| BLAKE2b-256 |
c5886a1a4b41130561cda8b1890c007ac5a7916f99ef6a0dfcda47238f8d986a
|
Provenance
The following attestation bundles were made for digitalkin-0.3.2b3.tar.gz:
Publisher:
release.yml on DigitalKin-ai/digitalkin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
digitalkin-0.3.2b3.tar.gz -
Subject digest:
05b60a4ddcb6969d7dfee5443d6a0a51b756e39579a0e5de4405ae1d3a15e050 - Sigstore transparency entry: 962444273
- Sigstore integration time:
-
Permalink:
DigitalKin-ai/digitalkin@86ffa867235e1c1fe5fa3295f791164c86be975e -
Branch / Tag:
refs/tags/v0.3.2b3 - Owner: https://github.com/DigitalKin-ai
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@86ffa867235e1c1fe5fa3295f791164c86be975e -
Trigger Event:
release
-
Statement type:
File details
Details for the file digitalkin-0.3.2b3-py3-none-any.whl.
File metadata
- Download URL: digitalkin-0.3.2b3-py3-none-any.whl
- Upload date:
- Size: 220.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73a2331c2885d1f970edd4442389cf278ac9b9dfa182c5e9ea69731e8e5faaab
|
|
| MD5 |
f8f93bfcb6e115e18b123fb912731ec6
|
|
| BLAKE2b-256 |
b3d2a60681675f758f6864e48138cf4cdbb5d91a0e03614e233ffdd31b947742
|
Provenance
The following attestation bundles were made for digitalkin-0.3.2b3-py3-none-any.whl:
Publisher:
release.yml on DigitalKin-ai/digitalkin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
digitalkin-0.3.2b3-py3-none-any.whl -
Subject digest:
73a2331c2885d1f970edd4442389cf278ac9b9dfa182c5e9ea69731e8e5faaab - Sigstore transparency entry: 962444279
- Sigstore integration time:
-
Permalink:
DigitalKin-ai/digitalkin@86ffa867235e1c1fe5fa3295f791164c86be975e -
Branch / Tag:
refs/tags/v0.3.2b3 - Owner: https://github.com/DigitalKin-ai
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@86ffa867235e1c1fe5fa3295f791164c86be975e -
Trigger Event:
release
-
Statement type: