retoor e669166696 refactor: replace async generators with direct list returns in Api methods and tests
The commit removes all async generator functions from the Api class, converting `get_rants`, `search`, `mentions`, and `notifs` to return lists directly instead of yielding items. This eliminates the need for the `async_list` and `async_len` test helper utilities, simplifying the test assertions to use standard `len()` calls. The change reduces code complexity by removing generator overhead and dead helper code that was only used to consume the generators.
2024-12-02 23:57:59 +00:00

devRanta

devRanta is an async devrant client written in and for Python. Authentication is only needed for half of the functionality and thus username and password are optional parameters by constructing the main class of this package (Api).

You can find last packages in tar and wheel format here.

Running

make run

Testing

Tests are only made for methods not requireing authentication. I do not see value in mocking requests.

make test

How to use

Implementation:

from devranta.api import Api 

api = Api(username="optional!", password="optional!")

async def list_rants():
    async for rant in api.get_rants():
        print(rant["user_username"], ":", rant["text"])

See tests for examples on how to use.

Todo

  • voting comment
  • edit message
S
Description
Async Python client for devRant developer community.
Readme
980 KiB
Languages
Python 98.1%
Makefile 1.9%