{"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,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","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,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}