Skip to content

infosupport/python-sdk

 
 

Repository files navigation

Dapr SDK for Python

PyPI version PyPI version dapr-python codecov Discord License: MIT

Dapr is a portable, event-driven, serverless runtime for building distributed applications across cloud and edge.

Dapr SDK for Python allows you to implement the Virtual Actor model, based on the actor design pattern. This SDK can run locally, in a container and in any distributed systems environment.

This includes the following packages:

Status

Note: Dapr SDK for python is currently under community development in alpha phase.

Getting started

Prerequisites

Install Dapr python sdk

  • Official package
# Install Dapr client sdk
pip3 install dapr

# Install Dapr gRPC AppCallback service extension
pip3 install dapr-ext-grpc

# Install Dapr Fast Api extension for Actor
pip3 install dapr-ext-fastapi
  • Development package
# Install Dapr client sdk
pip3 install dapr-dev

# Install Dapr gRPC AppCallback service extension
pip3 install dapr-ext-grpc-dev

# Install Dapr Fast Api extension for Actor
pip3 install dapr-ext-fastapi-dev

Note: Do not install both packages.

Try out examples

Go to Examples

Developing

Build and test

  1. Clone python-sdk
git clone https://github.com/dapr/python-sdk.git
cd python-sdk
  1. Install a project in a editable mode
pip3 install -e .
pip3 install -e ./ext/dapr-ext-grpc/
pip3 install -e ./ext/dapr-ext-fastapi/
  1. Install required packages
pip3 install -r dev-requirements.txt
  1. Run unit-test
tox -e py37
  1. Run type check
tox -e type

Documentation

Documentation is generated using Sphinx. Extensions used are mainly Napoleon (To process the Google Comment Style) and Autodocs (For automatically generating documentation). The .rst files are generated using Sphinx-Apidocs.

To generate documentation:

tox -e doc

The generated files will be found in docs/_build.

Generate gRPC Protobuf client

pip3 install -r dev-requirements.txt

./tools/regen_grpcclient.sh

Code of Conduct

This project has adopted the Microsoft Open Source Code of conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Packages

No packages published

Languages

  • Python 98.7%
  • Other 1.3%