In-Memory reference-data MDM/Lookup system (Base-class)

Base class for a Master Data Management (MDM) / Lookup system. Concrete classes (not shown) that subclass this include a Database lookup class (db_lookup.py) and a File lookup class (file_lookup.py). Consumed by downstream analytics applications, this MDM/Lookup system loads reference data stored in some data store (Oracle, Postgres, CSV file, etc), and initializes an In-Memory representation of that data: Performs various normalizations (e.g. currency, country, nulls, etc); Links Synonym data; Deduplicates records; Evicts ambiguous records (i.e. records having the same key but different values), etc. Once initialization is complete, the object exposes a Lookup API that downstream analytics consumers use for vetted, cleansed, conflict-free reference data. This is a MVP (POC) iteration, with release versions undergoing further refactorization.

A concrete database subclass that uses this base-class is found here.