nidm-specs
nidm-specs copied to clipboard
RFC: Creating a set of standard libraries
Create a set of libraries for developers to use. Abstract away details of the model through a clean API.
Develop a common library for common languages:
- Python
- Javascript
- Octave/MATLAB
We would want the api of these tools to support both generic prov objects (entities, activities, agents) and specific objects (e.g., Projects, Datasets, Results, Workflows). The focus in early development should be on the specific objects to make it more useful to the developer.
Also develop a set of RESTful services for NIDM. The backend would be via python or node. Use swagger to design the API around the neuroimaging models.
Example top-level API:
/projects
/terms
/collections/{collection-type}
...
These top level APIs should support use-cases.
Concurrent with the development of the libraries we would like to use them in user facing applications. These could be viewers, search engines, and workflow tools.
Current work: NIDM-Results API: https://github.com/incf-nidash/nidmresults NIDM-Exp: https://github.com/incf-nidash/nidm/tree/master/nidm/nidm-experiment/scripts/class/NIDMExperiment
NIDM-Results json API (WIP): https://github.com/cmaumet/nidmresults/blob/json_export_import/json_ex.json
NIDM Swagger specs : https://github.com/smpadhy/nidm-swagger-specs
you can use this link directly:
http://editor.swagger.io/#/https://raw.githubusercontent.com/smpadhy/nidm-swagger-specs/master/nidm-swagger-specs.yaml