You have extractor and loader classes, I think the industry term at least in data warehousing is a <a href="https://en.wikipedia.org/wiki/Extract,_transform,_load" rel="nofollow">https://en.wikipedia.org/wiki/Extract,_transform,_load</a> system. Enrichment sounds cool, too.<p>I like it, at least more than Zapier and similar pipelines. We have a couple of clients that use our API (geocoding[1]) to enrich their records inside an ETL. Be prepared that some APIs are rate-limited or quota-based, need API keys or other authentication and might return 'over-quota' error messages, never mind latency.<p>[1] <a href="https://geocoder.opencagedata.com/" rel="nofollow">https://geocoder.opencagedata.com/</a>
my thoughts: I was looking for the way you handle exceptions. And found none.
For me any enrichment API needs to be designed to handle exceptional case and make it easy to deal with them.<p>Say that during enrichment I might want to do some lookups what if one of them is not working...