The idea is to develop a microservice that searches Kaggle competitions using its REST API and make these data available on OpenChallenges.
Workflow:
Get a list a competitions from Kaggle using a set of categories (tags?)
Add the new competitions to OpenChallenges DB, update the existing competitions
A variant of the above workflow would be to have 1) microservice that queries Kaggle and push the competitions to Kafka and 2) develop a microservice that listens to Kafka for incoming Kaggle competitions and stores the data to OpenChallenges DB.
The benefit of this approach is that querying Kaggle and processing the competitions received is separated, which provides more flexibility. For example, we could have more than one microservice that listen to Kafka to perform different actions.
Kaggle API
We can get information about Kaggle REST API via its Python client.
The idea is to develop a microservice that searches Kaggle competitions using its REST API and make these data available on OpenChallenges.
Workflow:
A variant of the above workflow would be to have 1) microservice that queries Kaggle and push the competitions to Kafka and 2) develop a microservice that listens to Kafka for incoming Kaggle competitions and stores the data to OpenChallenges DB.
The benefit of this approach is that querying Kaggle and processing the competitions received is separated, which provides more flexibility. For example, we could have more than one microservice that listen to Kafka to perform different actions.
Kaggle API
We can get information about Kaggle REST API via its Python client.