{"id":27705,"library":"dotwiz","title":"dotwiz","description":"DotWiz is a blazing fast dict subclass that enables accessing nested dictionary keys using dot notation. It wraps dictionaries and provides attribute-style access. Current version 0.4.0, maintained but not rapidly updated.","status":"active","version":"0.4.0","language":"python","source_language":"en","source_url":"https://github.com/rnag/dotwiz","tags":["dict","dot-notation","nested","attributes","key-access"],"install":[{"cmd":"pip install dotwiz","lang":"bash","label":"default"}],"dependencies":[],"imports":[{"note":"No common wrong import; use from dotwiz import DotWiz","wrong":"","symbol":"DotWiz","correct":"from dotwiz import DotWiz"}],"quickstart":{"code":"from dotwiz import DotWiz\n\n# Create a DotWiz object\nd = DotWiz({'name': 'John', 'info': {'age': 30, 'city': 'NYC'}})\n\n# Access nested keys via dot notation\nprint(d.name)           # John\nprint(d.info.age)       # 30\n\n# Assign values\nd.info.city = 'Boston'\nprint(d)                # {'name': 'John', 'info': {'age': 30, 'city': 'Boston'}}","lang":"python","description":"Basic usage: create a DotWiz instance and access nested keys with dot notation."},"warnings":[{"fix":"Manually wrap nested dicts: d.key = DotWiz({'subkey': 'value'})","message":"DotWiz does not convert nested dicts passed after creation. Only nested dicts at initialization are converted. Assigning a plain dict to a key after creation will not be automatically wrapped.","severity":"gotcha","affected_versions":"all"},{"fix":"If you need deep copy preserving DotWiz, use copy.deepcopy or wrap explicitly.","message":"DotWiz is not a full replacement for dict. Methods like .items(), .keys() work, but some dict methods (e.g., .copy()) return a plain dict, not a DotWiz.","severity":"gotcha","affected_versions":"all"},{"fix":"Monitor the repository for any changes.","message":"The module does not explicitly deprecate any features, but be aware that version 0.4.0 may have limited future updates.","severity":"deprecated","affected_versions":"0.4.0"}],"env_vars":null,"search_vec":"'0.4.0':29 'access':11,26,43 'attribut':24,40 'attribute-styl':23 'blaze':5 'current':27 'dict':7,35 'dictionari':13,20 'dot':16,37 'dot-not':36 'dotwiz':1,2 'enabl':10 'fast':6 'key':14,42 'key-access':41 'maintain':30 'nest':12,39 'notat':17,38 'provid':22 'rapid':33 'style':25 'subclass':8 'updat':34 'use':15 'version':28 'wrap':19","created_at":"2026-05-09T05:51:39.348832+00:00","updated_at":"2026-05-09T05:51:39.348832+00:00","problems":[{"fix":"Use d.key = DotWiz({'subkey': value}) instead of d.key = {'subkey': value}","cause":"A nested dict was not converted to DotWiz because it was assigned after initialization.","error":"AttributeError: 'dict' object has no attribute 'subkey'"},{"fix":"Import the class: from dotwiz import DotWiz","cause":"Trying to call dotwiz as a function instead of importing the class.","error":"TypeError: 'DotWiz' object is not callable"},{"fix":"Check key exists with 'key' in d or use .get() method.","cause":"Trying to access a key that doesn't exist using bracket notation when attribute access would raise AttributeError.","error":"KeyError: 'key'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/rnag/dotwiz","docs":"https://dotwiz.readthedocs.io","changelog":null,"pypi":"https://pypi.org/project/dotwiz/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}