What about first part of my question? How you're going to use this on pricing side? Wouldn't it be better to provide api function to check venture for given ip address? What it the purpose of returning (yielding) list of dicts (why dicts btw?) with ip-venture key-value? Should pricing iterate through that list and find what is venture for given ip? Should pricing build single dict from list of dicts to find venture by ip faster? Would this information be stored in pricing DB or method will be called once from network collecting plugin?