Skip to content

spacether/immutabledict

 
 

Repository files navigation

immutabledict

PyPI Conda PyPI - Python Version

License Build Codecov PyPI - Downloads

A fork of the original frozendict, an immutable wrapper around dictionaries. This library is a pure Python, MIT-licensed alternative to the new LGPL-3.0 licensed frozendict.

It implements the complete mapping interface and can be used as a drop-in replacement for dictionaries where immutability is desired. The immutabledict constructor mimics dict, and all of the expected interfaces (iter, len, repr, hash, getitem) are provided. Note that an immutabledict does not guarantee the immutability of its values, so the utility of hash method is restricted by usage.

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.

Donations

If you wish to support the project, donations are possible on the following platforms:

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.5%
  • Makefile 3.5%