line / centraldogma-python

Python client library for Central Dogma
https://line.github.io/centraldogma-python/
Apache License 2.0
19 stars 9 forks source link

Implement `watch_file` and `watch_repository` #24

Closed ikhoon closed 2 years ago

ikhoon commented 2 years ago

Motivation:

The watch APIs implemented in upstream's client are the most loved features by users. Python users also want to use the API in this Python client too.

Modifications:

Result:

You can watch the changes in a repository using the watch APIs.

ikhoon commented 2 years ago

I ran out of all of my bandwidth because of LINE's open source contribution sprint for Armeria and Central Dogma. I will address the reviews in the next week. 😅

minwoox commented 2 years ago

Please, take your time. 🙇‍♂️

hexoul commented 2 years ago

Of course, I understand the situation. My PR for async client is also late. 😭

codecov-commenter commented 2 years ago

Codecov Report

Merging #24 (3e46c08) into main (fe08d8a) will decrease coverage by 7.08%. The diff coverage is 85.88%.

Impacted file tree graph

@@             Coverage Diff             @@
##              main      #24      +/-   ##
===========================================
- Coverage   100.00%   92.91%   -7.09%     
===========================================
  Files           15       21       +6     
  Lines          329      649     +320     
===========================================
+ Hits           329      603     +274     
- Misses           0       46      +46     
Impacted Files Coverage Δ
centraldogma/util.py 25.00% <25.00%> (ø)
centraldogma/data/entry.py 71.42% <71.42%> (ø)
centraldogma/watcher.py 75.00% <75.00%> (ø)
centraldogma/content_service.py 88.88% <80.00%> (-11.12%) :arrow_down:
centraldogma/repository_watcher.py 91.85% <91.85%> (ø)
centraldogma/data/revision.py 92.30% <92.30%> (ø)
centraldogma/query.py 92.59% <92.59%> (ø)
centraldogma/base_client.py 100.00% <100.00%> (ø)
centraldogma/data/change.py 100.00% <100.00%> (ø)
centraldogma/dogma.py 100.00% <100.00%> (ø)
... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update fe08d8a...3e46c08. Read the comment docs.

ikhoon commented 2 years ago

Generic concurrent.futures.Future seems not to work with Python < 3.9 https://stackoverflow.com/questions/69779744/generic-future-type-compatibility-with-python-3-9 Let me try to find a workaround.