Skip to content
Latchkey

O Que É o Formato INI? Arquivos de Config Simples Explicados

O formato INI é um estilo de configuração simples e de longa data, construído a partir de seções entre colchetes contendo pares key = value.

Arquivos INI são um dos formatos de config mais antigos e simples. Você ainda os encontra no git config, no setup.cfg do Python, no tox e em muitas ferramentas. São triviais de ler, mas como não há um único padrão, o comportamento exato depende do parser que está lendo o arquivo - uma sutileza que vale conhecer no CI.

O que o formato INI é

Um arquivo INI agrupa configurações em seções, cada uma introduzida por um nome entre colchetes, seguida de linhas key = value. É plano e fácil de ler. Não há aninhamento além de um nível de seções, o que o mantém simples mas limita o que ele pode expressar.

Não há um padrão oficial

Diferente de TOML ou JSON, INI não tem spec formal. Parsers discordam sobre caracteres de comentário (ponto e vírgula ou cerquilha), se valores são citados, sensibilidade a caixa, e como chaves duplicadas se comportam. Então um arquivo INI que funciona com uma ferramenta pode se comportar diferente com outra.

INI versus TOML

TOML foi projetado para ser o INI feito direito: o mesmo estilo legível de seção e chave, mas com uma especificação real, valores tipados, arrays e tables aninhadas. Quando um projeto precisa da simplicidade estilo INI com parsing previsível, hoje ele geralmente recorre ao TOML.

INI em CI e ferramentas

Você encontra arquivos estilo INI por toda a toolchain que o CI executa: .gitconfig, setup.cfg e tox.ini do Python, config de flake8 e pytest, e muitos linters. No CI você raramente escreve INI à mão em runtime, mas pode inserir um valor por template em um durante um step de setup.

An INI-style tox config
# tox.ini consumed by a CI test step
[tox]
envlist = py310,py311

[testenv]
deps = pytest
commands = pytest

Por que ele persiste

INI sobrevive porque é a config estruturada mais simples possível: qualquer um consegue lê-lo e editá-lo, e um parser básico é trivial de escrever. Para configurações planas onde você não precisa de tipos ou aninhamento, ele ainda é perfeitamente utilizável.

Principais conclusões

  • Arquivos INI são configs planas de seções entre colchetes contendo pares key = value.
  • Não há um padrão oficial, então sintaxe de comentário, quoting e tratamento de caixa variam por parser.
  • TOML é essencialmente um sucessor padronizado e tipado; INI ainda vive no git config e em ferramentas Python.

Guias relacionados