Skip to content

Latest commit

 

History

History
25 lines (14 loc) · 974 Bytes

asyncio.rst

File metadata and controls

25 lines (14 loc) · 974 Bytes

Async vs Sync API

mightstone is primarily an async library, that provides synchronous tools as a byproduct. We attempt to maintain a synchronous version of our API for non async programming context.

Mightstone uses Django’s asgiref.sync.AsyncToSync routines that seems to be a more advanced and robust implementation of the asyncio.run. This allow async code to run in a safe sync context.

Asynchronous generators

Mightstone may stream items through an asynchronous generator, which requires async for loop. We provide the aiterator_to_list utility to help you starting with async iterators. You should take a look at aiostream or asyncstdlib library to help you handle them.

from mightstone.ass import aiterator_to_list

 scryfall = Scryfall()
 found = aiterator_to_list(scryfall.search_async("boseiju"))

 print(f"I found {len(found)} ")