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.
See the documentation for more information.
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.
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
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
576 followers · starred Jan 2025
1,104 followers · starred Jul 2018
241 followers · starred Nov 2021
355 followers · starred Jul 2018
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.
See the documentation for more information.
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.
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
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
576 followers · starred Jan 2025
1,104 followers · starred Jul 2018
241 followers · starred Nov 2021
355 followers · starred Jul 2018