Open
Description
Hey there, thanks for the neat library.
Do you have any plan to support native async features of Python for the client?
e.g. something in the lines of:
import asyncio
import random
from recombee_api_client.api_client import AsyncRecombeeClient, Region
from recombee_api_client.exceptions import APIException
from recombee_api_client.api_requests import *
async def main():
client = AsyncRecombeeClient('--my-database-id--', '--db-private-token--', region=Region.US_WEST)
#Generate some random purchases of items by users
PROBABILITY_PURCHASED = 0.1
NUM = 100
purchase_requests = []
for user_id in ["user-%s" % i for i in range(NUM) ]:
for item_id in ["item-%s" % i for i in range(NUM) ]:
if random.random() < PROBABILITY_PURCHASED:
request = AddPurchase(user_id, item_id, cascade_create=True)
purchase_requests.append(request)
try:
# Send the data to Recombee, use Batch for faster processing of larger data
print('Send purchases')
await client.send(Batch(purchase_requests))
# Get recommendations for user 'user-25'
response = await client.send(RecommendItemsToUser('user-25', 5))
print("Recommended items: %s" % response)
# User scrolled down - get next 3 recommended items
response = await client.send(RecommendNextItems(response['recommId'], 3))
print("Next recommended items: %s" % response)
except APIException as e:
print(e)
asyncio.run(main())
Metadata
Metadata
Assignees
Labels
No labels