No project description provided
Project description
caseless-dictionary
A simple, fast, typed, and tested implementation for a python3.6+ case-insensitive dictionary. This class extends and maintains the original functionality of the builtin dict
.
Key Features:
- Easy: If you don't care about the case of the key in a dictionary then this implementation is easy to use since it acts just like a
dict
obj. - Great Developer Experience: Being fully typed makes it great for editor support.
- Fully Tested: Our test suit fully tests the functionality to ensure that
CaselessDict
runs as expected. - There is More!!!:
- ModifiableItemsDict: CaselessDict is built on top of the
ModifiableItemsDict
, which is a library that enables the user to modify the key or/and value ofdict
type object at runtime.
- ModifiableItemsDict: CaselessDict is built on top of the
Installation
pip install caseless-dictionary
Simple CaselessDict Example
from caseless_dictionary import CaselessDict
normal_dict: dict = {" CamelCase ": 1, " UPPER ": "TWO", 3: " Number as Key "}
caseless_dict: CaselessDict = CaselessDict(normal_dict)
print(caseless_dict) # {'camelcase': 1, 'upper': 'TWO', 3: 'Number as Key'}
print("CamelCase" in caseless_dict) # True
print("camelcase" in caseless_dict) # True
print(caseless_dict[" camelCASE "]) # 1
Simple UpperCaselessDict Example
from caseless_dictionary import UpperCaselessDict
from typing import Iterable
iterable: Iterable = [(" wArNIng", 0), ("deBug ", 10)]
upper_caseless_dict: dict = UpperCaselessDict(iterable)
print(upper_caseless_dict) # {'WARNING': 0, 'DEBUG': 10}
print("warning"in upper_caseless_dict) # True
upper_caseless_dict["WarninG"] = 30
print(upper_caseless_dict) # {'WARNING': 30, 'DEBUG': 10}
Simple TitleCaselessDict Example
from caseless_dictionary import TitleCaselessDict
from typing import Iterable
iterable: Iterable = {" Brave ": 1, " ProtonMail ": 2}
title_caseless_dict: dict = TitleCaselessDict(iterable)
print(title_caseless_dict) # {'Brave': 1, 'Protonmail': 2}
title_caseless_dict.pop(" protonMAIL ")
print(title_caseless_dict) # {'Brave': 1}
Project details
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
Close
Hashes for caseless-dictionary-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | efcadf519cd69f2ece4cb952e9a7b4eb0cc258fd3c7415335f8894170a39c6a1 |
|
MD5 | f1fd37881581b8df9cfb1aaa4845f3cc |
|
BLAKE2b-256 | 2ac16f430518b0d803e253c5ef975ea0c3310f483feae3bf4a7e7e1ed690fc9e |
Close
Hashes for caseless_dictionary-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31fd7d6edcb1f2c0502c5b9e5e3533fdac06fd0f17ad5bee6376dec7d28fda12 |
|
MD5 | d17a89708f89b099a808419b86b88ffa |
|
BLAKE2b-256 | da443dfe8f5633d322247b444c13fff03eebc6753fb5b30da5eeaf7ce6cb2c99 |