I fiddled some more with dbsqlite and figured out how to use github.
I pushed a patch that removes any reference to shelve & bsddb to
https://github.com/detrout/pygr/tree/master/pygr
There's still one reference to anydbm to use its list of exceptions from anydbm.error.
Probably the biggest problem with the patch that I'm aware of is its using the same .pygr_data names so if anyone wanted to use it they'd need to remove their curent .pygr_data files and regenerate them.
All the unit tests that passed on my laptop with shelve pass with this code. (imports of pygr/apps/leelabdb.py fail because I don't have mysql installed)
I did find that coordinator.getrules and .getresources aren't called by any unit tests.
Diane