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
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 publish 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.2b6.tar.gz (161.1 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.2b6-py3-none-any.whl (223.9 kB view details)

Uploaded Python 3

File details

Details for the file digitalkin-0.3.2b6.tar.gz.

File metadata

  • Download URL: digitalkin-0.3.2b6.tar.gz
  • Upload date:
  • Size: 161.1 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.2b6.tar.gz
Algorithm Hash digest
SHA256 436b0349b608c354b54e9f9ca7e536703d9dbb99c5849161820a71dd5019c08e
MD5 c32c11a574b583f3bf812ae6288b390a
BLAKE2b-256 047fc3d9b9107b2942aa63b8bea9747cc984f42ef590e1ccc11880fda1b7f425

See more details on using hashes here.

Provenance

The following attestation bundles were made for digitalkin-0.3.2b6.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.2b6-py3-none-any.whl.

File metadata

  • Download URL: digitalkin-0.3.2b6-py3-none-any.whl
  • Upload date:
  • Size: 223.9 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.2b6-py3-none-any.whl
Algorithm Hash digest
SHA256 8f971c45d25d12b1d0036e6034f141d0f1bdf053357196a8a6b15d055bc9654f
MD5 50c06407e5725e2375a9bce04e526aa2
BLAKE2b-256 c846a68a0dfc0b067251fb843d191217cfe5bf1b68c11576cc00c324e52dfdc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for digitalkin-0.3.2b6-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