Python:
Trabalhando com TOML

Como Fazer:

Antes de começar, instale o pacote toml com pip install toml. Vamos analisar um arquivo TOML:

import toml

# Exemplo de conteúdo TOML como uma string
toml_string = """
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z # Datas de primeira classe

[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
"""

# Analisar a string TOML
parsed_toml = toml.loads(toml_string)

# Acessando dados
print(parsed_toml['owner']['name'])  # Saída: Tom Preston-Werner
print(parsed_toml['database']['ports'])  # Saída: [8001, 8001, 8002]

Aprofundando-se

TOML foi criado por Tom Preston-Werner, um dos fundadores do GitHub, como um formato de arquivo de configuração mais amigável ao usuário. Ele é projetado para mapear de forma inequívoca para uma tabela hash e ser facilmente analisável por máquinas.

Comparado ao JSON, o TOML é mais legível para arquivos de configuração e suporta comentários. YAML, outra alternativa, pode ser mais compacto, mas a sua dependência de indentação e questões subtis, como a proibição de tabs, podem confundir as pessoas.

Quanto aos detalhes de implementação, os valores TOML são tipados, o que inclui strings, inteiros, floats, booleanos, datas, arrays e tabelas. Tudo é sensível a maiúsculas e minúsculas. Além disso, o TOML suporta strings multilinhas e, na versão mais recente, até permite arrays de tipos heterogêneos.

Python utiliza a biblioteca toml, que espelha as bibliotecas JSON e YAML em termos de API. Você tem toml.load e toml.loads para ler TOML de um arquivo ou uma string, respectivamente, e toml.dump e toml.dumps para escrevê-lo.

Veja Também

  • O repositório GitHub oficial do TOML para especificações: github.com/toml-lang/toml
  • A documentação da biblioteca toml Python: pypi.org/project/toml/
  • Exemplos reais de TOML: Arquivos de configuração para o gerenciador de pacotes do Rust cargo ou a ferramenta de empacotamento Python poetry.