Immutable wrapper around dictionaries (a fork of frozendict)
Project description
immutabledict
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.
The only difference is that the copy() method of immutable takes variable keyword arguments, which will be present as key/value pairs in the new, immutable copy.
Installation
Available as immutabledict
on :
- pypi
- conda-forge (community-maintained, not an official release)
- alpine as py3-immutabledict (community-maintained, not an official release)
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 (version 1.0.0 supports Python 3.5, versions <= 2.2.1 supports Python 3.6)
- Fixed
collections.Mapping
deprecation warning - Typing
- PEP 584 union operators
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for immutabledict-2.2.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 663ccf24212dfa3a14eb4302454b8141c4f80f28bf47b2c7ee1f2cfad736bed6 |
|
MD5 | 50da8226784aa60a364a4fb3de2d1c67 |
|
BLAKE2b-256 | 63242d70ce3bca941be9d81e7e701918b5eb4655e74f5ce7453d3fb6760edfa3 |