Crates.io | maxminddb |
lib.rs | maxminddb |
version | 0.24.0 |
source | src |
created_at | 2014-11-22 21:35:03.782489 |
updated_at | 2024-01-10 00:33:46.934976 |
description | Library for reading MaxMind DB format used by GeoIP2 and GeoLite2 |
homepage | https://github.com/oschwald/maxminddb-rust |
repository | https://github.com/oschwald/maxminddb-rust |
max_upload_size | |
id | 355 |
size | 83,916 |
This library reads the MaxMind DB format, including the GeoIP2 and GeoLite2 databases.
To build everything:
cargo build
This crate manages its test data within a git submodule. To run the tests, you will first need to run the following command.
git submodule update --init
Add this to your Cargo.toml
:
[dependencies]
maxminddb = "0.17"
and this to your crate root:
extern crate maxminddb;
The API docs are on GitHub Pages.
See examples/lookup.rs
for a basic example.
The projects include benchmarks using Criterion.rs.
First you need to have a working copy of the GeoIP City database. You can fetch it from here.
Place it in the root folder as GeoIP2-City.mmdb
.
Once this is done, run
cargo bench
If gnuplot is installed, Criterion.rs can generate
an HTML report displaying the results of the benchmark under
target/criterion/report/index.html
.
Result of doing 100 random IP lookups:
Contributions welcome! Please fork the repository and open a pull request with your changes.
This is free software, licensed under the ISC license.