{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://alvarodiez20.github.io/pysuricata/schemas/summary.v2.schema.json",
  "title": "pysuricata summarize() payload",
  "description": "Generated by scripts/generate_summary_schema.py from a live summarize() payload -- see docs/summary-schema.md for the narrative version of this same contract.",
  "type": "object",
  "properties": {
    "schema_version": {
      "const": 2
    },
    "dataset": {
      "type": "object",
      "properties": {
        "rows_est": {
          "type": "integer"
        },
        "cols": {
          "type": "integer"
        },
        "missing_cells": {
          "type": "integer"
        },
        "missing_cells_pct": {
          "type": "number"
        },
        "duplicate_rows_est": {
          "type": "integer"
        },
        "duplicate_rows_pct_est": {
          "type": "number"
        },
        "duplicate_rows_uncertainty": {
          "type": "integer"
        },
        "duplicates_degraded": {
          "type": "boolean"
        },
        "duplicate_rows_lo": {
          "type": "integer"
        },
        "duplicate_rows_hi": {
          "type": "integer"
        },
        "memory_bytes": {
          "type": "integer"
        },
        "top_missing": {
          "type": "array",
          "items": {
            "type": "object"
          }
        }
      },
      "required": [
        "cols",
        "duplicate_rows_est",
        "duplicate_rows_hi",
        "duplicate_rows_lo",
        "duplicate_rows_pct_est",
        "duplicate_rows_uncertainty",
        "duplicates_degraded",
        "memory_bytes",
        "missing_cells",
        "missing_cells_pct",
        "rows_est",
        "top_missing"
      ]
    },
    "columns": {
      "type": "object",
      "additionalProperties": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "boolean"
                ]
              },
              "count": {
                "type": "integer"
              },
              "missing": {
                "type": "integer"
              },
              "true": {
                "type": "integer"
              },
              "false": {
                "type": "integer"
              },
              "mem_bytes": {
                "type": "integer"
              },
              "dtype": {
                "type": "string"
              },
              "true_ratio": {
                "type": "number"
              },
              "false_ratio": {
                "type": "number"
              },
              "entropy": {
                "type": "number"
              }
            },
            "required": [
              "count",
              "dtype",
              "entropy",
              "false",
              "false_ratio",
              "mem_bytes",
              "missing",
              "true",
              "true_ratio",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "categorical"
                ]
              },
              "count": {
                "type": "integer"
              },
              "missing": {
                "type": "integer"
              },
              "unique_est": {
                "type": "integer"
              },
              "top_items": {
                "type": "array"
              },
              "top_items_uncertainty": {
                "type": "integer"
              },
              "unique_est_exact": {
                "type": "boolean"
              },
              "approx": {
                "type": "boolean"
              },
              "mem_bytes": {
                "type": "integer"
              },
              "dtype": {
                "type": "string"
              },
              "entropy": {
                "type": "number"
              },
              "avg_len": {
                "type": "number"
              },
              "len_p90": {
                "type": "integer"
              },
              "empty_zero": {
                "type": "integer"
              },
              "case_variants_est": {
                "type": "integer"
              },
              "trim_variants_est": {
                "type": "integer"
              },
              "most_common_ratio": {
                "type": "number"
              },
              "diversity_ratio": {
                "type": "number"
              },
              "gini_impurity": {
                "type": "number"
              },
              "singleton_levels": {
                "type": "integer"
              },
              "exact_levels": {
                "type": "integer"
              }
            },
            "required": [
              "approx",
              "avg_len",
              "case_variants_est",
              "count",
              "diversity_ratio",
              "dtype",
              "empty_zero",
              "entropy",
              "exact_levels",
              "gini_impurity",
              "len_p90",
              "mem_bytes",
              "missing",
              "most_common_ratio",
              "singleton_levels",
              "top_items",
              "top_items_uncertainty",
              "trim_variants_est",
              "type",
              "unique_est",
              "unique_est_exact"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "datetime"
                ]
              },
              "count": {
                "type": "integer"
              },
              "missing": {
                "type": "integer"
              },
              "min_ts": {
                "type": "number"
              },
              "max_ts": {
                "type": "number"
              },
              "mem_bytes": {
                "type": "integer"
              },
              "dtype": {
                "type": "string"
              },
              "unique_est": {
                "type": "integer"
              },
              "mono_inc": {
                "type": "boolean"
              },
              "mono_dec": {
                "type": "boolean"
              },
              "time_span_days": {
                "type": "number"
              },
              "avg_interval_seconds": {
                "type": "number"
              },
              "interval_std_seconds": {
                "type": "number"
              },
              "weekend_ratio": {
                "type": "number"
              },
              "business_hours_ratio": {
                "type": "number"
              },
              "seasonal_pattern": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "source_timezone": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "by_hour": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "by_dow": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "by_month": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "by_year": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                }
              }
            },
            "required": [
              "avg_interval_seconds",
              "business_hours_ratio",
              "by_dow",
              "by_hour",
              "by_month",
              "by_year",
              "count",
              "dtype",
              "interval_std_seconds",
              "max_ts",
              "mem_bytes",
              "min_ts",
              "missing",
              "mono_dec",
              "mono_inc",
              "seasonal_pattern",
              "source_timezone",
              "time_span_days",
              "type",
              "unique_est",
              "weekend_ratio"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "identifier",
                  "numeric"
                ]
              },
              "count": {
                "type": "integer"
              },
              "missing": {
                "type": "integer"
              },
              "unique_est": {
                "type": "integer"
              },
              "mean": {
                "type": "number"
              },
              "std": {
                "type": "number"
              },
              "min": {
                "type": "number"
              },
              "q1": {
                "type": "number"
              },
              "median": {
                "type": "number"
              },
              "q3": {
                "type": "number"
              },
              "max": {
                "type": "number"
              },
              "zeros": {
                "type": "integer"
              },
              "negatives": {
                "type": "integer"
              },
              "outliers_iqr_est": {
                "type": "integer"
              },
              "approx": {
                "type": "boolean"
              },
              "mem_bytes": {
                "type": "integer"
              },
              "corr_top": {
                "type": "array",
                "items": {
                  "type": "array"
                }
              },
              "mono_inc": {
                "type": "boolean"
              },
              "mono_dec": {
                "type": "boolean"
              },
              "int_like": {
                "type": "boolean"
              },
              "top_values": {
                "type": [
                  "array",
                  "null"
                ]
              },
              "top_values_uncertainty": {
                "type": "integer"
              },
              "unique_est_exact": {
                "type": "boolean"
              },
              "dtype": {
                "type": "string"
              },
              "inf": {
                "type": "integer"
              },
              "variance": {
                "type": "number"
              },
              "skew": {
                "type": "number"
              },
              "kurtosis": {
                "type": "number"
              },
              "cv": {
                "type": "number"
              },
              "se": {
                "type": "number"
              },
              "gmean": {
                "type": "number"
              },
              "min_positive": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "iqr": {
                "type": "number"
              },
              "mad": {
                "type": "number"
              },
              "ci_lo": {
                "type": "number"
              },
              "ci_hi": {
                "type": "number"
              },
              "jb_chi2": {
                "type": "number"
              },
              "outliers_mod_zscore_est": {
                "type": "integer"
              },
              "outliers_mod_zscore": {
                "type": "integer"
              },
              "heap_pct": {
                "type": "number"
              },
              "bimodal": {
                "type": "boolean"
              },
              "gran_decimals": {
                "type": "integer"
              },
              "gran_step": {
                "type": "number"
              },
              "unique_ratio_approx": {
                "type": "number"
              },
              "min_items": {
                "type": "array"
              },
              "max_items": {
                "type": "array"
              },
              "true_histogram_edges": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "true_histogram_counts": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            },
            "required": [
              "approx",
              "bimodal",
              "ci_hi",
              "ci_lo",
              "corr_top",
              "count",
              "cv",
              "dtype",
              "gmean",
              "gran_decimals",
              "gran_step",
              "heap_pct",
              "inf",
              "int_like",
              "iqr",
              "jb_chi2",
              "kurtosis",
              "mad",
              "max",
              "max_items",
              "mean",
              "median",
              "mem_bytes",
              "min",
              "min_items",
              "min_positive",
              "missing",
              "mono_dec",
              "mono_inc",
              "negatives",
              "outliers_iqr_est",
              "outliers_mod_zscore",
              "outliers_mod_zscore_est",
              "q1",
              "q3",
              "se",
              "skew",
              "std",
              "top_values",
              "top_values_uncertainty",
              "true_histogram_counts",
              "true_histogram_edges",
              "type",
              "unique_est",
              "unique_est_exact",
              "unique_ratio_approx",
              "variance",
              "zeros"
            ]
          }
        ]
      }
    }
  },
  "required": [
    "schema_version",
    "dataset",
    "columns"
  ]
}
