{
  "name": "antaq.movimentacao",
  "schema_version": "1.0",
  "effective_from": "0.11.0",
  "breaking_policy": "major",
  "primary_key": ["ano", "mes", "porto", "cd_mercadoria", "sentido", "tipo_navegacao"],
  "required_columns": ["ano", "mes"],
  "dtypes": {
    "ano": "int",
    "mes": "int",
    "data_atracacao": "str",
    "tipo_navegacao": "str",
    "tipo_operacao": "str",
    "natureza_carga": "str",
    "sentido": "str",
    "porto": "str",
    "complexo_portuario": "str",
    "terminal": "str",
    "municipio": "str",
    "uf": "str",
    "regiao": "str",
    "cd_mercadoria": "str",
    "mercadoria": "str",
    "grupo_mercadoria": "str",
    "origem": "str",
    "destino": "str",
    "peso_bruto_ton": "float",
    "qt_carga": "float",
    "teu": "int"
  },
  "nullable": {
    "ano": false,
    "mes": false,
    "data_atracacao": true,
    "tipo_navegacao": true,
    "tipo_operacao": true,
    "natureza_carga": true,
    "sentido": true,
    "porto": true,
    "complexo_portuario": true,
    "terminal": true,
    "municipio": true,
    "uf": true,
    "regiao": true,
    "cd_mercadoria": true,
    "mercadoria": true,
    "grupo_mercadoria": true,
    "origem": true,
    "destino": true,
    "peso_bruto_ton": true,
    "qt_carga": true,
    "teu": true
  },
  "columns": [
    {"name": "ano", "type": "int", "nullable": false, "stable": true, "min_value": 2010},
    {"name": "mes", "type": "int", "nullable": false, "stable": true, "min_value": 1, "max_value": 12},
    {"name": "data_atracacao", "type": "str", "nullable": true, "stable": true},
    {"name": "tipo_navegacao", "type": "str", "nullable": true, "stable": true},
    {"name": "tipo_operacao", "type": "str", "nullable": true, "stable": true},
    {"name": "natureza_carga", "type": "str", "nullable": true, "stable": true},
    {"name": "sentido", "type": "str", "nullable": true, "stable": true},
    {"name": "porto", "type": "str", "nullable": true, "stable": true},
    {"name": "complexo_portuario", "type": "str", "nullable": true, "stable": true},
    {"name": "terminal", "type": "str", "nullable": true, "stable": true},
    {"name": "municipio", "type": "str", "nullable": true, "stable": true},
    {"name": "uf", "type": "str", "nullable": true, "stable": true},
    {"name": "regiao", "type": "str", "nullable": true, "stable": true},
    {"name": "cd_mercadoria", "type": "str", "nullable": true, "stable": true},
    {"name": "mercadoria", "type": "str", "nullable": true, "stable": true},
    {"name": "grupo_mercadoria", "type": "str", "nullable": true, "stable": true},
    {"name": "origem", "type": "str", "nullable": true, "stable": true},
    {"name": "destino", "type": "str", "nullable": true, "stable": true},
    {"name": "peso_bruto_ton", "type": "float", "nullable": true, "unit": "ton", "stable": true, "min_value": 0},
    {"name": "qt_carga", "type": "float", "nullable": true, "stable": true, "min_value": 0},
    {"name": "teu", "type": "int", "nullable": true, "stable": true, "min_value": 0}
  ],
  "constraints": {
    "no_duplicates": false,
    "peso_bruto_ton_min": 0
  },
  "guarantees": [
    "Column names never change (additions only)",
    "'ano' is always >= 2010",
    "'mes' is between 1 and 12",
    "'uf' is always a valid Brazilian state code when present",
    "'sentido' is always 'Embarcados' or 'Desembarcados' when present",
    "'peso_bruto_ton' is always >= 0 when present"
  ]
}
