Intake [0] is another package that might help here. It organizes a set of data sources into
(1) plugins that actually connect to the data source and map the data to standard Python data structures like Data Frames
(2) catalogs that reference the plugins you want to use alongside project specific metadata like usernames/passwords/source URIs
(3) convenience functions that persistence, concatenation, etc
(4) a GUI for browsing data sources
Looks like OP has already written a lot of data access logic... I might fork them into Intake plugins for my personal use.