Giter Site home page Giter Site logo

dapr-python-sdk's Introduction

Dapr SDK for Python

PyPI version PyPI version dapr-python codecov Discord License: Apache FOSSA Status

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 linter
tox -e flake8
  1. Run unit-test
tox -e py37
  1. Run type check
tox -e type
  1. Run examples
tox -e examples

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

Help & Feedback

Need help or have feedback on the SDK? Please open a GitHub issue or come chat with us in the #python-sdk channel of our Discord server (click here to join).

Code of Conduct

This project follows the CNCF Code of Conduct.

dapr-python-sdk's People

Contributors

aaroncrawfis avatar alydersen avatar amanbha avatar amulyavarote avatar aronchick avatar artursouza avatar berndverst avatar brendandburns avatar chinzhiweiblank avatar daixiang0 avatar dependabot[bot] avatar emattiza avatar hugome avatar junnplus avatar kaypee90 avatar letmerecall avatar lewisbenge avatar msftgits avatar mukundansundar avatar omid-verneek avatar paulyuk avatar pkedy avatar pruthvidhodda avatar shalabhms avatar shubham1172 avatar wcs1only avatar wmeints avatar xaviergeerinck avatar yaron2 avatar youngbupark avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.