Skip to main content

SDK to build kin used in DigitalKin

Project description

DigitalKin Python SDK

CI PyPI Python Version License

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-pika AMQP 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

  1. Update code and commit changes. (following conventional branch/commit standard)
  2. Use task bump-version -- major|minor|patch command to commit new version.
  3. Use GitHub "Create Release" workflow to plublish the new version.
  4. 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

digitalkin-0.3.2b3.tar.gz (157.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

digitalkin-0.3.2b3-py3-none-any.whl (220.1 kB view details)

Uploaded Python 3

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

Hashes for digitalkin-0.3.2b3.tar.gz
Algorithm Hash digest
SHA256 05b60a4ddcb6969d7dfee5443d6a0a51b756e39579a0e5de4405ae1d3a15e050
MD5 4ec05531bc70cf3ab20dc28e2bf54867
BLAKE2b-256 c5886a1a4b41130561cda8b1890c007ac5a7916f99ef6a0dfcda47238f8d986a

See more details on using hashes here.

Provenance

The following attestation bundles were made for digitalkin-0.3.2b3.tar.gz:

Publisher: release.yml on DigitalKin-ai/digitalkin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for digitalkin-0.3.2b3-py3-none-any.whl
Algorithm Hash digest
SHA256 73a2331c2885d1f970edd4442389cf278ac9b9dfa182c5e9ea69731e8e5faaab
MD5 f8f93bfcb6e115e18b123fb912731ec6
BLAKE2b-256 b3d2a60681675f758f6864e48138cf4cdbb5d91a0e03614e233ffdd31b947742

See more details on using hashes here.

Provenance

The following attestation bundles were made for digitalkin-0.3.2b3-py3-none-any.whl:

Publisher: release.yml on DigitalKin-ai/digitalkin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page