This is a really cool class - I have only one comment, as it is easier to change names in the beginning than in the end.  From the official python "style" (PEP8) you should make the module name all lower case (smartdict.py), and a class should always use CamelCase (SmartDict).