dapr / python-sdk

Dapr SDK for Python
Apache License 2.0
223 stars 125 forks source link

subscribe method updated #558

Closed shivamkm07 closed 1 year ago

shivamkm07 commented 1 year ago

Description

The PR updates the subscribe method so that it takes a handler as an argument which will be executed whenever there is an update notification. Also the subscribe call returns ID in it's response as specified in sdk-spec(https://github.com/dapr/sig-sdk-spec/blob/main/spec/alpha/configuration.md). It updates the unsubscribe method to unsubscribe using ID, instead of a key.

Issue reference

We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.

Please reference the issue this PR will close: #488

Checklist

Please make sure you've completed the relevant tasks for this PR, out of the following list:

codecov[bot] commented 1 year ago

Codecov Report

Merging #558 (e7860ef) into master (742ed0e) will decrease coverage by 0.32%. The diff coverage is 48.00%.

@@            Coverage Diff             @@
##           master     #558      +/-   ##
==========================================
- Coverage   89.95%   89.64%   -0.32%     
==========================================
  Files          62       62              
  Lines        2978     2985       +7     
==========================================
- Hits         2679     2676       -3     
- Misses        299      309      +10     
Impacted Files Coverage Δ
dapr/clients/grpc/_response.py 87.13% <18.75%> (-2.66%) :arrow_down:
dapr/aio/clients/grpc/client.py 90.70% <100.00%> (-0.04%) :arrow_down:
dapr/clients/grpc/client.py 90.65% <100.00%> (-0.04%) :arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

shivamkm07 commented 1 year ago

There are remaining linter issues, and the example E2E test hasn't been updated for the changed output. The Readme.md in the example folder acts as integration test - you can see the expected output lines there which must be modified.

Please make sure to run tox -e type tox -e flake8 tox -e py311 (or 39 or whatever - depends on the the Python version you are using) to help you catch type, linter and unit test problems.

You can run the examples integration test via tox -e examples , to just run the configuration API example, navigate to the examples folder and then run ./validate.sh configuration (this assumes you have mechanical-markdown installed - via pip3 install mechanical-markdown)

Resolved