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.
# tox.ini consumed by a CI test step
[tox]
envlist = py310,py311
[testenv]
deps = pytest
commands = pytestPor 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.