.. _metaschema_rst: ############### JSON Metaschema ############### |cis_interface| uses the JSON metaschema below for evaluating schemas including type definitions. This metaschema is an expansion of the default metaschema defined by `JSON schema `_ with the addition of several more specific ``simpleTypes`` that allow validation of more complex/specific data types. Data types in the |cis_interface| metaschema that are not part of the JSON schema metaschema include: :1darray: One dimensional arrays with elements of uniform size that are contiguous in memory. :bytes: Raw bytes (to allow encoding of bytes objects in Python 3.6). :complex: Complex numbers. :float: Floating point number with support for numpy floats in addition to the Python build-in. :function: Python callable. :int: Integer number with support for numpy ints in addition to the Python build-in. :ndarray: Multi-dimensional arrays with elements of uniform size that are continguous in memory in C order. :obj: `Wavefront OBJ `_ representation of a 3D geometry. :ply: `Polygon File Format `_ representation of a 3D geometry. :scalar: Generic scalar that has an optional subtype. :schema: A JSON schema. :uint: Unsigned integer number with support for numpy uints. :unicode: Unicode objects that will be encoded as bytes using utf-8 encoding. .. literalinclude:: /../../cis_interface/.cis_metaschema.json :language: json :linenos: