# `tomllib` — Analizar archivos TOML

Nuevo en la versión 3.11.

Código fuente: Lib/tomllib

This module provides an interface for parsing TOML (Tom’s Obvious Minimal Language, https://toml.io). This module does not support writing TOML.

Ver también

El paquete Tomli-W es un escritor de TOML que puede utilizarse junto con este módulo, proporcionando una API de escritura familiar para los usuarios de los módulos `marshal` y `pickle` de la biblioteca estándar.

Ver también

El paquete TOML Kit es una biblioteca TOML que preserva el estilo y tiene capacidad de lectura y escritura. Se recomienda sustituir este módulo para editar archivos TOML ya existentes.

Este módulo define las siguientes funciones:

tomllib.load(fp, /, *, parse_float=float)

  Lee un archivo TOML. El primer argumento debe ser un objeto de archivo legible y binario. Retorna un `dict`. Convierte los tipos TOML a Python utilizando esta tabla de conversión.

  parse_float will be called with the string of every TOML float to be decoded. By default, this is equivalent to `float(num_str)`. This can be used to use another datatype or parser for TOML floats (e.g. `decimal.Decimal`). The callable must not return a `dict` or a `list`, else a `ValueError` is raised.

  Un `TOMLDecodeError` se levantará en un documento TOML inválido.

tomllib.loads(s, /, *, parse_float=float)

  Carga TOML de un objeto `str`. Retorna un `dict`. Convierte los tipos TOML a Python utilizando esta tabla de conversión. El argumento parse_float tiene el mismo significado que en `load()`.

  Un `TOMLDecodeError` se levantará en un documento TOML inválido.

Las siguientes excepciones están disponibles:

exception tomllib.TOMLDecodeError

  Subclase de `ValueError`.

## Ejemplos

Analiza un TOML file:

    import tomllib

    with open("pyproject.toml", "rb") as f:
        data = tomllib.load(f)

Analiza un TOML string:

    import tomllib

    toml_str = """
    python-version = "3.11.0"
    python-implementation = "CPython"
    """

    data = tomllib.loads(toml_str)

## Tabla de conversión

TOML | Python
--- | ---
TOML document | dict
cadena | str
integer | int
flotante | flotante (configurable con parse_float)
boolean | bool
offset date-time | datetime.datetime (atributo `tzinfo` establecido en una instancia de `datetime.timezone`)
local date-time | datetime.datetime (atributo `tzinfo` establecido en `None`)
local date | datetime.date
local time | datetime.time
array | list
tabla | dict
inline table | dict
array of tables | list of dicts