ip2region
Ip2region is an offline IP-to-Region localization library and IP data
...The XDB format supports large datasets, deduplication, compression, and customizable region fields. Query implementations are available for many languages, including Go, Java, Python, PHP, Rust, C, C++, JavaScript, C#, Lua, Erlang, and others. Several cache strategies allow applications to trade memory use for faster query performance, with fully cached lookups operating at microsecond-level speeds. The project also includes tooling for generating, editing, and updating XDB datasets.