python-poetry/tomlkit

Style-preserving TOML library for Python

Python

859

533 commits

updated Oct 5, 2026

See the code

README

GitHub Release PyPI Version Python Versions License
Tests

TOML Kit - Style-preserving TOML library for Python

TOML Kit is a 1.1.0-compliant TOML library.

It includes a parser that preserves all comments, indentations, whitespace and internal element ordering, and makes them accessible and editable via an intuitive API.

You can also create new TOML documents from scratch using the provided helpers.

Part of the implementation has been adapted, improved and fixed from Molten.

Usage

See the documentation for more information.

Limitations

tomlkit preserves the original layout of a document, with one exception: a sub-table that extends an array of tables out of order — for example a [fruit.apple.texture] header that appears after [[fruit]] with an unrelated table in between — is normalized into the array's last element when the document is re-serialized, rather than kept at its original position. The data is preserved; only the physical placement of that sub-table changes.

Installation

If you are using uv, you can add tomlkit to your pyproject.toml file by using:

uv add tomlkit

Or just:

uv pip install tomlkit

If not, you can use pip:

pip install tomlkit

Running tests

Please clone the repo with submodules with the following command:

git clone --recurse-submodules https://github.com/python-poetry/tomlkit.git

The toml-test submodule is required for running the tests.

You can then run the tests with

poetry run pytest -q tests

Significant stargazers

Alex Waygood

576 followers · starred Jan 2025

Pradyun Gedam

1,104 followers · starred Jul 2018

Profpatsch

241 followers · starred Nov 2021

Ronny Pfannschmidt

355 followers · starred Jul 2018

python-poetry/tomlkit

Style-preserving TOML library for Python

Python

859

533 commits

updated Oct 5, 2026

See the code

README

GitHub Release PyPI Version Python Versions License
Tests

TOML Kit - Style-preserving TOML library for Python

TOML Kit is a 1.1.0-compliant TOML library.

It includes a parser that preserves all comments, indentations, whitespace and internal element ordering, and makes them accessible and editable via an intuitive API.

You can also create new TOML documents from scratch using the provided helpers.

Part of the implementation has been adapted, improved and fixed from Molten.

Usage

See the documentation for more information.

Limitations

tomlkit preserves the original layout of a document, with one exception: a sub-table that extends an array of tables out of order — for example a [fruit.apple.texture] header that appears after [[fruit]] with an unrelated table in between — is normalized into the array's last element when the document is re-serialized, rather than kept at its original position. The data is preserved; only the physical placement of that sub-table changes.

Installation

If you are using uv, you can add tomlkit to your pyproject.toml file by using:

uv add tomlkit

Or just:

uv pip install tomlkit

If not, you can use pip:

pip install tomlkit

Running tests

Please clone the repo with submodules with the following command:

git clone --recurse-submodules https://github.com/python-poetry/tomlkit.git

The toml-test submodule is required for running the tests.

You can then run the tests with

poetry run pytest -q tests

Significant stargazers

Alex Waygood

576 followers · starred Jan 2025

Pradyun Gedam

1,104 followers · starred Jul 2018

Profpatsch

241 followers · starred Nov 2021

Ronny Pfannschmidt

355 followers · starred Jul 2018