{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "schema for a qcodes config file",
    "properties": {
        "user": {
            "description": "controls user settings of qcodes",
            "properties": {
                "analysis_location": {
                    "description": "Location of analysis plots and data",
                    "type": "string",
                    "default": "A:/TransmonExperiments/GoogleDrive/T2acquisition/Data/"
                },
                "data_location": {
                    "description": "Location of dat",
                    "type": "string",
                    "default": "A:/TransmonExperiments/GoogleDrive/T2acquisition/Data/"
                },
                "log_location": {
                    "description": "Location of log files",
                    "type": "string",
                    "default": "A:/TransmonExperiments/GoogleDrive/T2acquisition/Data/"
                },
                "temp_dict_location": {
                    "description": "Location of calib dict",
                    "type": "string",
                    "default": "/"
                },
                "data_format": {
                    "description": "Format of data file names",
                    "type": "string",
                    "default": "{counter}"
                },
                "pulse_location": {
                    "description": "Location of AWG files",
                    "type": "string",
                    "default": "A:/TransmonExperiments/GoogleDrive/T2acquisition/Data/"
                }
            },
            "type": "object"
        },
        "gui": {
            "description": "controls gui of qcodes",
            "properties": {
                "notebook": {
                    "description": "Use notebook frontend",
                    "type": "boolean",
                    "default": true
                },
                "plotlib": {
                    "description": "Plotting library",
                    "enum": [
                        "QT",
                        "matplotlib"
                    ],
                    "type": "string",
                    "default": "matplotlib"
                }
            },
            "type": "object",
            "required": [
                "notebook",
                "plotlib"
            ]
        },
        "core": {
            "description": "controls core settings of qcodes",
            "properties": {
                "loglevel": {
                    "description": "control logging  level",
                    "enum": [
                        "CRITICAL",
                        "ERROR",
                        "WARNING",
                        "INFO",
                        "DEBUG"
                    ],
                    "type": "string",
                    "default": "DEBUG"
                },
                "default_fmt": {
                    "description": "default location formatter",
                    "type": "string",
                    "default": "data/{date}/#{counter}_{name}_{time}"
                }
            },
            "type": "object",
            "required": [
                "loglevel"
            ]
        }
    },
    "type": "object",
    "required": [
        "gui",
        "core",
        "user"
    ]
}