{ "description": "custom json structure with references to generate notebook schema", "notebook":{ "type": "object", "description": "notebook v3.0 root schema", "$schema": "http://json-schema.org/draft-03/schema", "id": "#notebook", "required": true, "additionalProperties": false, "properties":{ "metadata": { "type": "object", "id": "metadata", "required": true, "description": "the metadata atribute can contain any additionnal information", "additionalProperties": true, "properties":{ "name": { "id": "name", "description": "the title of the notebook", "type": "string", "id": "name", "required": true } } }, "nbformat_minor": { "description": "Notebook format, minor number. Incremented for slight variation of notebook format.", "type": "integer", "minimum": 0, "id": "nbformat_minor", "required": true }, "nbformat": { "description": "Notebook format, major number. Incremented between backward incompatible change is introduced.", "type": "integer", "minimum": 3, "id": "nbformat", "required": true }, "worksheets": { "description": "Array of worksheet, not used by the current implementation of ipython yet", "type": "array", "id": "worksheets", "required": true, "items": {"$ref": "/worksheet"} } } }, "worksheet": { "additionalProperties": false, "properties":{ "cells": { "type": "array", "$schema": "http://json-schema.org/draft-03/schema", "description": "array of cells of the current worksheet", "id": "#cells", "required": true, "items": {"$ref": "/any_cell"} }, "metadata": { "type": "object", "description": "metadata of the current worksheet", "id": "metadata", "required": true } } }, "text_cell": { "type": "object", "description": "scheme for text cel and childrenm (level only optionnal argument for HEader cell)", "$schema": "http://json-schema.org/draft-03/schema", "id": "#cell", "required": true, "additionalProperties": false, "properties":{ "cell_type": { "type": "string", "id": "cell_type", "required": true }, "level": { "type": "integer", "minimum": 1, "maximum": 6, "id": "level", "required": false }, "metadata": { "type": "object", "id": "metadata", "required": true }, "source": { "description": "for code cell, the source code", "type": "array", "id": "source", "required": true, "items": { "type": "string", "description": "each item represent one line of the source code written, terminated by \n", "id": "0", "required": true } } } }, "any_cell": { "description": "Meta cell type that match any cell type", "type": [{"$ref": "/text_cell"},{"$ref":"/code_cell"}], "$schema": "http://json-schema.org/draft-03/schema" }, "code_cell":{ "type": "object", "$schema": "http://json-schema.org/draft-03/schema", "description": "Cell used to execute code", "id": "#cell", "required": true, "additionalProperties": false, "properties":{ "cell_type": { "type": "string", "id": "cell_type", "required": true }, "metadata": { "type": "object", "id": "metadata", "required": true }, "collapsed": { "type": "boolean", "required": true }, "input": { "description": "user input for text cells", "type": "array", "id": "input", "required": true, "items": { "type": "string", "id": "input", "required": true } }, "outputs": { "description": "output for code cell, to be definied", "required": true, "type": "array" }, "prompt_number": { "type": ["integer","null"], "required": true, "minimum": 0 }, "language": { "type": "string", "required": true } } } }