1 karma · joined May 5, 2017
It works similarity to addict, but does have important distinctions and IMO seniority (was in my 'reusables' pypi project named 'Namespace' before addict existed. Just finally spun it into it's own project).
Biggest differences:
* Box will convert items added to the object after creation, addict does not
* addict only acts as a defaultdict, Box can act as either regular or defaultdict
* Box updates it’s __dir__ so that attributes (keys) are tab completed in stuff like IPython
* Box repr clearly shows it is an object
I actually created the first iteration of this around 3 years ago, aimed primarily for sysadmins and others who use the console more than actual developing. As I find it extremely convenient to tab complete keys and a lot less typing.
From there it has obviously evolved to try and fit more peoples needs, and I use it regularly in my projects.
Basically it's faster on standard soft creation as it converts on lookup. (And most use cases don't call for referencing every single key)