1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# ██████╗ ███████╗██████╗ ███████╗
# ██╔══██╗██╔════╝██╔══██╗██╔════╝
# ██████╔╝█████╗ ██████╔╝███████╗
# ██╔══██╗██╔══╝ ██╔═══╝ ╚════██║
# ██║ ██║███████╗██║ ███████║
# ╚═╝ ╚═╝╚══════╝╚═╝ ╚══════╝
#╔═══════════════════════════════╗
#║ Rust Efficiency & Performance ║
#╚═══════════════════════════════╝
[]
= "iqdb-quantize"
= "1.0.0"
# Minimum Supported Rust Version (MSRV)
= "1.87"
= "2024"
# License
= "Apache-2.0 OR MIT"
# Readme
= "README.md"
# Description
= "Vector quantization (scalar, product, binary) for memory-efficient vector search - part of the iQDB family."
# Keywords (5 max)
= [
"quantization",
"vector-search",
"embeddings",
"compression",
"iqdb"
]
# Categories
= [
"algorithms",
"compression"
]
# Links
= "https://github.com/jamesgober/iqdb-quantize"
= "https://github.com/jamesgober/iqdb-quantize"
= "https://docs.rs/iqdb-quantize"
# Authors
= [
"James Gober <me@jamesgober.com>",
"Matt Callahan <matthewcallahan01@icloud.com>",
]
[]
= true
= ["--cfg", "docsrs"]
[]
= "iqdb_quantize"
= "src/lib.rs"
# FEATURE FLAGS
# #################################
[]
# Default build is scalar-only and has no optional dependencies. The crate
# delegates every f32 distance call to `iqdb-distance`, so SIMD acceleration
# (AVX2 / NEON) lands transparently through that dependency.
= []
# DEPENDENCIES
# #################################
[]
# Shared public vocabulary: DistanceMetric, IqdbError, Result.
= "1.0.0"
# Distance/similarity math. SQ8 asymmetric distance dequantizes the candidate
# to a temporary `Vec<f32>` and routes through `iqdb_distance::compute`.
= "1.0.0"
# Tracing facade only. Instrumented at the training boundary; per-vector
# encode/decode/distance stays hot-path-only.
= { = "0.1", = false, = ["attributes", "std"] }
# ForgeError trait — gives us `kind()` and `caption()` on IqdbError for
# structured error-event fields.
= "1.0.0"
# DEV DEPENDENCIES
# #################################
[]
# Per-scheme throughput micro-benches.
= { = "0.5", = ["html_reports"] }
# Property tests for round-trip bounds, error variants, and Hamming popcount.
= "1"
# Recording subscriber used by `tests/tracing.rs` (inlined helper).
= { = "0.3", = false, = ["registry"] }
# BENCHMARKS
# #################################
[[]]
= "quantize"
= false
# RELEASE PROFILE
# #################################
[]
= 3
= "fat"
= 1
= "abort"
= "symbols"