-
Notifications
You must be signed in to change notification settings - Fork 5
Improve documentation #26
Description
To ease usage by external developers, it is very important to document and specify all (or at least most of) functions/methods in the Python client.
Priority should be focused on:
cytomine.pyand Cytomine class (except all deprecated methods, that don't have to be documented as they will be removed at some point)cytomine_job.pymodels/model.pyas all models are children of this classmodels/collection.pyas all collections are children of this class
It is important to follow the same conventions everywhere (Numpy documentation style is already used at some places) and use the same terminology as given in https://doc.uliege.cytomine.org/dev-guide/clients/python/usage
In the end, the goal is to have an automatic tool that will parse the docstrings in the library to make a user-friendly Markdown/HTML documentation in the Cytomine documentation portal.
For concrete models and collections that are mapping the API, we need to discuss the benefit of document all the attributes coming from the API by hand or not. A possibility could be to build the user-friendly documentation from Python docstrings and fill missing ones with data coming from the API reference and its OpenAPI specification, in an automated way. Main advantage is one single source of truth for documentation and no never-ending copy/paste; main drawback is documentation is not "physically" present in the source code for the concrete models and collections.