An Elixir library for IP geolocation lookups with a flexible adapter-based architecture.
Geolix is an Elixir library that provides IP geolocation lookups through a flexible adapter system. It allows developers to query multiple geolocation databases or services from a single unified API, returning structured location data for IP addresses.
Elixir developers building applications that require IP-based geolocation, such as analytics platforms, content localization services, or security tools.
Developers choose Geolix for its adapter-based extensibility, allowing integration with any geolocation data source, and its simple API that works consistently across multiple configured databases.
IP information lookup provider
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports integration with any geolocation data source via pluggable adapters, allowing databases, web services, or caches as per the README's emphasis on a unified interface.
Enables simultaneous configuration and querying of multiple geolocation databases, providing comprehensive data from varied sources in a single lookup.
Includes a fake adapter for mocking IP lookups with static data, simplifying development and testing without external dependencies, as shown in the configuration example.
Offers straightforward functions like `Geolix.lookup/1,2` that return structured results, making integration easy across different adapters and databases.
The core library lacks production-ready adapters; users must install and configure separate packages (e.g., for MaxMind databases), adding setup complexity.
Requires detailed application config for each database with custom adapters and sources, which can be error-prone and time-consuming for new users.
Only includes a fake adapter by default; other adapters like MMDB2 are external, increasing dependency management and potential maintenance issues.