[[bench]]
harness = false
name = "cache_bench"
path = "benches/cache_bench.rs"
[[bench]]
harness = false
name = "mmdb_build_bench"
path = "benches/mmdb_build_bench.rs"
[[bench]]
harness = false
name = "query_profile"
path = "benches/query_profile.rs"
[[bin]]
name = "matchy"
path = "src/bin/matchy.rs"
required-features = ["cli"]
[build-dependencies.cbindgen]
version = "0.29"
[dependencies.anyhow]
version = "1.0"
[dependencies.bech32]
version = "0.11"
[dependencies.bs58]
version = "0.5"
[dependencies.chrono]
default-features = false
features = ["alloc"]
version = "0.4"
[dependencies.clap]
features = ["derive", "cargo"]
optional = true
version = "4.5"
[dependencies.csv]
optional = true
version = "1.3"
[dependencies.ctrlc]
optional = true
version = "3.5"
[dependencies.flate2]
default-features = false
features = ["rust_backend"]
version = "1.1"
[dependencies.lru]
version = "0.16"
[dependencies.matchy-ac]
version = "2.0.0"
[dependencies.matchy-data-format]
version = "2.0.0"
[dependencies.matchy-extractor]
version = "2.0.0"
[dependencies.matchy-format]
version = "2.0.0"
[dependencies.matchy-ip-trie]
version = "2.0.0"
[dependencies.matchy-literal-hash]
version = "2.0.0"
[dependencies.matchy-match-mode]
version = "2.0.0"
[dependencies.matchy-paraglob]
version = "2.0.0"
[dependencies.memchr]
version = "2.7"
[dependencies.rayon]
version = "1.10"
[dependencies.rustc-hash]
version = "2.0"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2.0"
[dependencies.tiny-keccak]
features = ["keccak"]
version = "2.0"
[dependencies.xxhash-rust]
features = ["xxh64", "xxh3"]
version = "0.8"
[dependencies.zerocopy]
features = ["derive"]
version = "0.8.27"
[dev-dependencies.assert_cmd]
version = "2.1"
[dev-dependencies.criterion]
version = "0.8"
[dev-dependencies.dhat]
version = "0.3"
[dev-dependencies.mockito]
version = "1.6"
[dev-dependencies.predicates]
version = "3.0"
[dev-dependencies.proptest]
version = "1.9"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.tempfile]
version = "3.8"
[[example]]
name = "build_combined_database"
path = "examples/build_combined_database.rs"
[[example]]
name = "build_ip_database"
path = "examples/build_ip_database.rs"
[[example]]
name = "build_misp_database"
path = "examples/build_misp_database.rs"
[[example]]
name = "cache_demo"
path = "examples/cache_demo.rs"
[[example]]
name = "combined_query"
path = "examples/combined_query.rs"
[[example]]
name = "concurrent_extraction"
path = "examples/concurrent_extraction.rs"
[[example]]
name = "custom_metadata"
path = "examples/custom_metadata.rs"
[[example]]
name = "endianness_demo"
path = "examples/endianness_demo.rs"
[[example]]
name = "extractor_demo"
path = "examples/extractor_demo.rs"
[[example]]
name = "generate_logs"
path = "examples/generate_logs.rs"
[[example]]
name = "geoip_query"
path = "examples/geoip_query.rs"
[[example]]
name = "hash_build_bench"
path = "examples/hash_build_bench.rs"
[[example]]
name = "hash_demo"
path = "examples/hash_demo.rs"
[[example]]
name = "lookup_extracted_demo"
path = "examples/lookup_extracted_demo.rs"
[[example]]
name = "parallel_processing"
path = "examples/parallel_processing.rs"
[[example]]
name = "prefix_convention"
path = "examples/prefix_convention.rs"
[[example]]
name = "test_hash_speed"
path = "examples/test_hash_speed.rs"
[features]
auto-update = ["ureq", "dirs"]
c-api = []
capi = []
cli = ["clap", "ctrlc", "csv"]
default = ["cli", "c-api"]
dhat-heap = []
[lib]
crate-type = ["rlib", "staticlib", "cdylib"]
name = "matchy"
path = "src/lib.rs"
[lints.clippy]
cast_lossless = "warn"
cast_possible_truncation = "warn"
cast_possible_wrap = "warn"
cast_sign_loss = "warn"
cloned_instead_of_copied = "warn"
doc_markdown = "allow"
flat_map_option = "warn"
if_not_else = "warn"
implicit_clone = "warn"
inconsistent_struct_constructor = "warn"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "warn"
needless_pass_by_value = "warn"
ptr_as_ptr = "warn"
redundant_closure_for_method_calls = "warn"
return_self_not_must_use = "warn"
semicolon_if_nothing_returned = "warn"
similar_names = "allow"
struct_excessive_bools = "allow"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "warn"
undocumented_unsafe_blocks = "warn"
uninlined_format_args = "warn"
unnecessary_wraps = "warn"
use_self = "warn"
[package]
authors = ["Seth Hall <seth@matchylabs.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["network-programming", "database", "algorithms"]
description = "Fast database for IP address and pattern matching with rich data storage"
edition = "2021"
include = ["src/**/*", "benches/**/*", "examples/**/*", "tests/*.rs", "tests/*.c", "include/**/*", "build.rs", "cbindgen.toml", "Cargo.toml", "Cargo.lock", "../../README.md", "../../CHANGELOG.md", "../../CONTRIBUTING.md", "../../LICENSE"]
keywords = ["ip", "pattern", "database", "geoip", "matching"]
license = "Apache-2.0"
name = "matchy"
readme = "README.md"
repository = "https://github.com/matchylabs/matchy"
version = "2.0.0"
[package.metadata.capi]
min_version = "0.10.0"
[package.metadata.capi.header]
generation = true
name = "matchy"
subdirectory = "matchy"
[[package.metadata.capi.install.include.asset]]
from = "include/matchy/maxminddb.h"
[package.metadata.capi.pkg_config]
filename = "matchy"
name = "matchy"
strip_include_path_components = 1
[target.'cfg(not(target_family = "wasm"))'.dependencies.arc-swap]
version = "1.7"
[target.'cfg(not(target_family = "wasm"))'.dependencies.crossbeam-channel]
version = "0.5"
[target.'cfg(not(target_family = "wasm"))'.dependencies.dirs]
optional = true
version = "5.0"
[target.'cfg(not(target_family = "wasm"))'.dependencies.libc]
version = "0.2"
[target.'cfg(not(target_family = "wasm"))'.dependencies.memmap2]
version = "0.9.9"
[target.'cfg(not(target_family = "wasm"))'.dependencies.ureq]
optional = true
version = "2.10"
[target.'cfg(target_os = "wasi")'.dependencies.arc-swap]
version = "1.7"
[target."cfg(windows)".dependencies.winapi]
features = ["winsock2", "ws2def", "ws2ipdef"]
version = "0.3"
[[test]]
name = "cache_stale_notfound_test"
path = "tests/cache_stale_notfound_test.rs"
[[test]]
name = "cli_tests"
path = "tests/cli_tests.rs"
[[test]]
name = "debug_ip_tree"
path = "tests/debug_ip_tree.rs"
[[test]]
name = "schema_validation_test"
path = "tests/schema_validation_test.rs"
[[test]]
name = "sequential_builder_test"
path = "tests/sequential_builder_test.rs"
[[test]]
name = "test_ip_exact_match"
path = "tests/test_ip_exact_match.rs"
[[test]]
name = "test_ip_longest_prefix_match"
path = "tests/test_ip_longest_prefix_match.rs"
[[test]]
name = "test_literal_hash"
path = "tests/test_literal_hash.rs"
[[test]]
name = "thread_safety_tests"
path = "tests/thread_safety_tests.rs"