json_schema: {
      "$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"
      ]
  }