Metadata-Version: 2.4
Name: digitalkin_proto
Version: 0.2.0.dev5
Summary: Python Generated gRPC client and server interfaces from Digitalkin's service apis
Author-email: "DigitalKin.ai" <contact@digitalkin.ai>
Project-URL: Homepage, https://github.com/DigitalKin-ai/service-apis-py
Project-URL: Bug Tracker, https://github.com/DigitalKin-ai/service-apis-py/issues
Project-URL: Documentation, https://github.com/DigitalKin-ai/service-apis-py/blob/main/README.md
Keywords: digitalkin,kin,agent,gprc,sdk
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Typing :: Typed
Classifier: License :: Other/Proprietary License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: googleapis-common-protos>=1.72.0
Requires-Dist: protovalidate>=1.0.0
Requires-Dist: grpcio>=1.76.0
Requires-Dist: grpcio-tools>=1.76.0
Requires-Dist: protobuf>=6.33.1
Requires-Dist: bump-my-version>=1.2.4
Dynamic: license-file

# digitalkin_proto

[![CI](https://github.com/DigitalKin-ai/service-apis-py/actions/workflows/ci.yml/badge.svg)](https://github.com/DigitalKin-ai/service-apis-py/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/digitalkin_proto.svg)](https://pypi.org/project/digitalkin_proto/)
[![Python Version](https://img.shields.io/pypi/pyversions/digitalkin_proto.svg)](https://pypi.org/project/digitalkin_proto/)
[![License](https://img.shields.io/github/license/DigitalKin-ai/service-apis-py)](https://github.com/DigitalKin-ai/service-apis-py/blob/main/LICENSE)

Python Generated gRPC client and server interfaces from Digitalkin's service
APIs.

## Installation

```bash
pip install digitalkin_proto
```

## Overview

This package provides Python interfaces generated from Digitalkin's Protocol
Buffer definitions, enabling seamless integration with Digitalkin services via
gRPC.

## Usage

### Basic Import

```python
import digitalkin_proto
from digitalkin_proto.agentic_mesh_protocol.module.v1 import module_pb2, module_service_pb2_grpc
```

### Working with gRPC Services

Example for connecting to a gRPC service:

```python
import grpc
from digitalkin_proto.agentic_mesh_protocol.module.v1 import module_service_pb2_grpc
from digitalkin_proto.agentic_mesh_protocol.module.v1 import module_pb2

# Create a gRPC channel and client stub
channel = grpc.insecure_channel('localhost:50051')
stub = module_service_pb2_grpc.ModuleServiceStub(channel)

# Create a request object
request = module_pb2.YourRequestType(
    field1="value1",
    field2="value2"
)

# Call the service
response = stub.YourServiceMethod(request)
print(response)
```

## Development

### Prerequisites

- Python 3.10+
- [uv](https://astral.sh/uv) - Modern Python package management
- [Task](https://taskfile.dev/) - Task runner
- rsync - For copying generated files

Note: `buf` and `protoc` are handled by the submodule via npx, no local installation needed

### Setup Development Environment

```bash
# Clone the repository with submodules
git clone --recurse-submodules https://github.com/DigitalKin-ai/service-apis-py.git
cd service-apis-py

# Setup development environment
task setup

# Or use the quick dev setup command
task dev
```

### Common Development Tasks

```bash
# Generate Python code from protobuf definitions
task gen

# Build the package
task build

# Run tests
task test

# Format code
task fmt

# Lint code
task lint

# Clean build artifacts
task clean

# Bump version
task bump-version -- patch
task bump-version -- minor
task bump-version -- major
```

### Publishing Process

1. Update code and commit changes
2. Use the GitHub "Create Release" workflow to bump version (patch, minor,
   major)
3. The workflow will automatically create a new release and publish to PyPI

## License

This project is licensed under the terms specified in the LICENSE file.
