nidm-specs icon indicating copy to clipboard operation
nidm-specs copied to clipboard

RFC: Creating a set of standard libraries

Open satra opened this issue 7 years ago • 4 comments

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.

satra avatar May 02 '17 11:05 satra

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

dbkeator avatar May 08 '17 15:05 dbkeator

NIDM-Results json API (WIP): https://github.com/cmaumet/nidmresults/blob/json_export_import/json_ex.json

cmaumet avatar May 08 '17 15:05 cmaumet

NIDM Swagger specs : https://github.com/smpadhy/nidm-swagger-specs

smpadhy avatar May 15 '17 15:05 smpadhy

you can use this link directly:

http://editor.swagger.io/#/https://raw.githubusercontent.com/smpadhy/nidm-swagger-specs/master/nidm-swagger-specs.yaml

satra avatar May 15 '17 15:05 satra