Nestedtext

Latest version: v3.7

Safety actively analyzes 628903 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

3.1

-----------------

- Change error reporting for :func:`dumps` and :func:`dump` functions;
culprit is now the keys rather than the value.

3.0

-----------------

- Deprecate trailing commas in inline lists and dictionaries.
- Adds *keymap* argument to :func:`load` and :func:`loads`.
- Adds *inline_level* argument to :func:`dump` and :func:`dumps`.
- Implement *on_dup* argument to :func:`load` and :func:`loads` in inline
dictionaries.
- Apply *convert* and *default* arguments of :func:`dump` and :func:`dumps` to
dictionary keys.

.. warning::

Be aware that aspects of this version are not backward compatible.
Specifically, trailing commas are no longer supported in inline dictionaries
and lists. In addition, ``[ ]`` now represents a list that contains an
empty string, whereas previously it represented an empty list.

2.0

-----------------

- Deprecate quoted keys.
- Add multiline keys to replace quoted keys.
- Add inline lists and dictionaries.
- Move from *renderers* to *converters* in :func:`dump` and :func:`dumps`.
Both allow you to support arbitrary data types. With *renderers* you
provide functions that are responsible for directly creating the text to
be inserted in the *NestedText* output. This can be complicated and error
prone. With *converters* you instead convert the object to a known
*NestedText* data type (dict, list, string, ...) and the *dump* function
automatically formats it appropriately.
- Restructure documentation.

.. warning::

Be aware that aspects of this version are not backward compatible.

1. It no longer supports quoted dictionary keys.

2. The *renderers* argument to :func:`dump` and :func:`dumps` has been replaced by *converters*.

3. It no longer allows one to specify *level* in :func:`dump` and :func:`dumps`.

1.3

-----------------

- Move the test cases to a submodule.

.. note::

When cloning the *NestedText* repository you should use the --recursive
flag to get the *official_tests* submodule::

git clone --recursive https://github.com/KenKundert/nestedtext.git

When updating an existing repository, you need to initialize the
submodule after doing a pull::

git submodule update --init --remote tests/official_tests

This only need be done once.

1.2

-----------------

- Treat CR LF, CR, or LF as a line break.
- Always quote keys that start with a quote.

1.1

-----------------

- Add ability to specify return type of :func:`load` and :func:`loads`.
- Quoted keys are now less restricted.
- Empty dictionaries and lists are rejected by :func:`dump` and
:func:`dumps` except as top-level object if *default* argument is
specified as 'strict'.

.. warning::

Be aware that this version is not fully backward compatible. Unlike
previous versions, this version allows you to restrict the type of the
return value of the :func:`load` and :func:`loads` functions, and the
default is 'dict'. The previous behavior is still supported, but you
must explicitly specify `top='any'` as an argument.

This change results in a simpler return value from :func:`load` and
:func:`loads` in most cases. This substantially reduces the chance of
coding errors. It was noticed that it was common to simply assume that
the top-level was a dictionary when writing code that used these
functions, which could result in unexpected errors when users
hand-create the input data. Specifying the return value eliminates this
type of error.

There is another small change that is not backward compatible. The
source argument to these functions is now a keyword only argument.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.