Tomli was added to the Python standard library in Python 3.11.
Relevant links:
- Python Issue Tracker: https://bugs.python.org/issue40059
- Tomli issue tracker: #141
- Discussion on PyPA "blessing" a TOML parser and/or including one in the standard library: https://discuss.python.org/t/adopting-recommending-a-toml-parser/4068
- Python Enhancement Proposal: https://peps.python.org/pep-0680
- CPython pull request: python/cpython#31498
tomllib
in CPython commit https://github.com/python/cpython/commit/deaf509e8fc6e0363bd6f26d52ad42f976ec42f2
matches Tomli commit https://github.com/hukkin/tomli/commit/7e563eed5286b5d46b8290a9f56a86d955b23a9a
-
Move everything in
tomli:src/tomli
tocpython:Lib/tomllib
. Excludepy.typed
. -
Remove
__version__ = ...
line fromcpython:Lib/tomllib/__init__.py
-
Move everything in
tomli:tests
tocpython:Lib/test/test_tomllib
. Exclude the following test data dirs recursively:tomli:tests/data/invalid/_external/
tomli:tests/data/valid/_external/
-
Create
cpython:Lib/test/test_tomllib/__main__.py
:import unittest from . import load_tests unittest.main()
-
Add the following to
cpython:Lib/test/test_tomllib/__init__.py
:import os from test.support import load_package_tests def load_tests(*args): return load_package_tests(os.path.dirname(__file__), *args)
Also change
import tomli as tomllib
toimport tomllib
. -
In
cpython:Lib/tomllib/_parser.py
replace__fp
withfp
and__s
withs
. Add the/
toload
andloads
function signatures.