Scalpl Versions Save

A lightweight wrapper to operate on nested dictionaries seamlessly. 👌

0.4.2

3 years ago

The version 0.4.2 of Scalpl includes the following changes:

Bugs:

  • Do not use a default value when proxying an empty dict (#24)

0.4.1

3 years ago

The version 0.4.1 of Scalpl includes the following changes:

Regressions

Features

  • Implement __repr__ to nicely display the proxied dictionary in a python shell

0.4.0

4 years ago

The version 0.4.0 of Scalpl includes the following changes:

Breaking changes

  • In order to match the original dict API, Cut.pop will raise a KeyError exception if the key is not found and no default value has been provided.

Bugs

  • Many bugs have been fixed thanks to a large rewrite of scalpl internals and more thorough unit tests

0.3.0

4 years ago

The version 0.3.0 of Scalpl includes the following changes:

Breaking changes

  • Simplification of the API by removing the LightCut class. To keep the same behavior in your codebase, just replace the LightCutclass by the Cut class.

Features

  • Improvement of the error handling by providing more detailed exceptions.
    proxy = Cut(data)
    proxy["trainers.Ash.pokemons[42].name"] = "Charmander"
    > IndexError: Cannot access index '42' in path 'trainers.Ash.pokemons[42].name', because of error: IndexError('list index out of range',).
    
    proxy["trainers.Giovanni"]
    > KeyError: Cannot access key 'Giovanni' in path 'trainers.Giovanni', because of error: KeyError('Giovanni',).
    
  • Provide type hints for all the methods of the Cut class