Changelog
2.0.1
- Improve
- Make bundling easier by using relative imports internally and adding license and copyright notice to source files.
- Make error messages more uniform
- Raise a friendly
TypeError
for wrong file mode - Allow
parse_float
to return objects having the append
attr - Eagerly raise an error if
parse_float
returns an illegal type
- Packaging
- Move from
pytest
testing framework to unittest
and remove python-dateutil
test dependency. Tests now only require Python interpreter.
1.2.3
- Fixed
- Backport: Allow lower case “t” and “z” in datetimes
2.0.0
- Removed
- Python 3.6 support
- Support for text file objects as
load
input. Use binary file objects instead. - First argument of
load
and loads
can no longer be passed by keyword.
- Fixed
- Allow lower case “t” and “z” in datetimes
- Improved
- Raise an error when dotted keys define values outside the “current table”. Technically speaking TOML v1.0.0 does allow such assignments but that isn't intended by specification writers, and will change in a future specification version (see the pull request).
1.2.2
- Fixed
- Illegal characters in error messages were surrounded by two pairs of quotation marks
- Improved
TOMLDecodeError.__module__
is now the public import path (tomli
) instead of private import path (tomli._parser
)- Eliminated an import cycle when
typing.TYPE_CHECKING
is True
. This allows sphinx-autodoc-typehints
to resolve type annotations.
1.2.1
- Fixed
- Raise an error if a carriage return (without a following line feed) is found in a multi-line basic string
- Type annotations
- Type annotate
load
input as typing.BinaryIO
only to discourage use of deprecated text file objects.
- Packaging
- Remove legacy
setup.py
from PyPI source distribution. If you're a packager and absolutely need this file, please create an issue.
1.2.0
- Deprecated
- Text file objects as input to
load
. Binary file objects should be used instead to avoid opening a TOML file with universal newlines or with an encoding other than UTF-8.
1.1.0
- Added
load
can now take a binary file object
1.0.4
1.0.3
- Fixed
- Raise
TOMLDecodeError
instead of ValueError
when parsing dates and datetimes that pass the regex check but don't correspond to a valid date or datetime.
- Performance
- Improved multiline literal string parsing performance
1.0.2
1.0.1
1.0.0
- Fixed
- Raise
TOMLDecodeError
instead of KeyError
when overwriting implicitly in an inline table
0.2.10
- Fixed
- Raise
TOMLDecodeError
if overwriting nested inline tables from the parent inline - Raise
TOMLDecodeError
if escaped Unicode character is not a Unicode scalar value
- Performance
- Increased parsing speed of single line basic strings, and multi-line literal and basic strings
0.2.9
- Fixed
TOMLDecodeError
now raised when opening a table implicitly created by a key/value pair- Don't error when two array-of-tables items open a subtable with the same name
- Don't error when opening parent table of an already defined array-of-tables item
0.2.8
- Performance
- Significant boost to comment parsing speed
0.2.7
- Added
- Improved
TOMLDecodeError
error messages. Line and column are included when applicable.
0.2.6
0.2.5
- Fixed
- Made exception type
TOMLDecodeError
when overwriting a value with a deeply nested table
0.2.4
- Fixed
TOMLDecodeError
is now raised when attempting to overwrite a value in an inline table‘s or array’s namespace with a table definition
0.2.3
- Fixed
- Error type was not TOMLDecodeError in some obscure cases
0.2.2
- Added
tomli.load
for parsing IO streams returned by open()
parse_float
keyword argument to tomli.loads
. Allows parsing TOML floats to a non-float type in Python.
0.2.1
- Fixed
TOMLDecodeError
is now raised for duplicate keys in inline tables, as opposed to silently overriding the previous value
0.2.0
0.1.0
- Added
tomli.loads
for parsing TOML stringstomli.TOMLDecodeError
that is raised for parse errors