/immutabledict

A fork of frozendict, an immutable wrapper around dictionaries for Python3

Primary LanguagePythonMIT LicenseMIT

immutabledict

PyPI Conda PyPI - Python Version

License Build Codecov PyPI - Downloads

An immutable wrapper around dictionaries. immutabledict implements the complete mapping interface and can be used as a drop-in replacement for dictionaries where immutability is desired.

It's a fork of slezica's frozendict. This library is a pure Python, MIT-licensed alternative to the new LGPL-3.0 licensed frozendict.

Installation

Official release in on pypi as immutabledict.

Community-maintained releases are available:

Example

from immutabledict import immutabledict

my_item = immutabledict({"a": "value", "b": "other_value"})
print(my_item["a"]) # Print "value"

Differences with the old original frozendict package

  • Dropped support of EOL Python versions (older versions of the library may support older Python versions)
  • Fixed collections.Mapping deprecation warning
  • Typing
  • PEP 584 union operators
  • Keep the same signature for copy() as dict (starting with immutabledict 3.0.0), don't accept extra keyword arguments.
  • Added set, delete and discard methods

Donations

If you wish to support this library, donations are possible here.