You do not need to read this if you're using the Skeleton! To see how to write a solver using the client in skeleton, see Getting Started!
Writing A Custom Client¶
We still recommend taking a look at the skeleton first before deciding to implement your own. We guarantee support for the skeleton, but there is no guarantee we can help with custom clients.
Your client should have the following functionality:
- Communication with a RESTful API: the local testing server and remote evaluation server both communicate with the client through a RESTful API. The API details can be found over at the API Spec.
- Ability to read graphs in NetworkX edgelist format. Please see their Edge List page for more details.
- Automatic storing of submit tokens. These are necessary for you to see your position on the leaderboard and are also used as a backup in the event of server-side data loss.
In addition to these, the skeleton also supports other useful features. It could be nice for your client to have the following functionality:
- Automatic retrying of failed requests (e.g. server 500's).
- Bookkeeping and graph algorithms.