Tab completion is already case insensitive, but if I type the whole peripheral or register name, it doesn't work. I hacked in something by using 'upper()', but it wasn't very good. I also tried to subclass OrderedDict to make a case insensitive version, but I'm not good enough at python and I had to give up for now. I just wanted to file an issue so I'll think about it again in the future.
Suggestions for how to best implement much appreciated!