Cargo Features

[dependencies]
memvid-core = { version = "2.0.139", default-features = false, features = ["lex", "extractous", "pdf_extract", "pdf_oxide", "vec", "clip", "mmap", "pdfium", "temporal_track", "temporal_enrich", "parallel_segments", "logic_mesh", "whisper", "metal", "cuda", "accelerate", "replay", "encryption", "symspell_cleanup", "api_embed", "simd", "hnsw_bench", "jsonwebtoken", "rustfft"] }
default = lex, pdf_extract, simd

These default features are set whenever memvid-core is added without default-features = false somewhere in the dependency tree.

lex default

pdf_oxide disabled - cff-parser panics on ligature fonts (uniFB01/uniFB02) symspell_cleanup - enables robust PDF text repair (requires make download-models for dictionaries)

Enables tantivy ^0.25.0

extractous

Enables extractous

extractous uses GraalVM native compilation which doesn't work on Windows ARM or WSL2 on ARM Enable with --features extractous for full document extraction (PDF, DOCX, etc.)

Affects extract::DocumentProcessor

pdf_extract default

Pure Rust PDF extraction - faster than lopdf for text extraction, cross-platform

Enables pdf-extract

Pure Rust PDF text extraction - used as primary extractor when extractous is disabled

pdf_oxide

High-accuracy PDF extraction with perfect word spacing (recommended for 2025+)

Enables pdf_oxide

High-accuracy PDF text extraction with perfect word spacing (2025)

vec clip?

Enables hnsw, ndarray ^0.16, ort =2.0.0-rc.10, rand ^0.8, rand_pcg ^0.3, space ^0.17, and tokenizers

Affects memvid-core::text_embed, vec::Euclidean, vec::HnswVecIndex

clip = vec

Enables image, ndarray ^0.16, rayon, and tokenizers

Affects clip::render_pdf_pages_for_clip, clip::render_pdf_pages_for_clip

mmap
pdfium

Enables pdfium-render ^0.8.28

Affects layout::extract_pdf_layout, clip::render_pdf_pages_for_clip

temporal_track

Affects analysis::temporal, constants::TEMPORAL_TRACK_MAGIC, constants::TEMPORAL_TRACK_VERSION, io::temporal_index, time_filter::frame_ids_for_temporal_filter, ask::AskRequest.temporal, ask::AskContextFragment.temporal, frame::TimelineQuery.temporal, frame::TimelineEntry.temporal, types::temporal, search::SearchRequest.temporal, search::SearchHitMetadata.temporal, search::SearchHitTemporal, search::SearchHitTemporalAnchor, search::SearchHitTemporalMention

temporal_enrich

Enables interim

Affects analysis::temporal_enrich

parallel_segments

Enables crossbeam-channel and num_cpus

Affects io::manifest_wal, builder::BuildOpts, builder::ParallelPayload, builder::ParallelInput, memvid::builder, memvid::planner, memvid::workers, vec::VecIndexArtifact.bytes_uncompressed

logic_mesh

Logic-Mesh: entity-relationship graph with NER extraction using DistilBERT-NER ONNX

Enables ndarray ^0.16, ort =2.0.0-rc.10, and tokenizers

whisper

Whisper: audio transcription with Candle inference

Enables byteorder, candle-core ^0.9, candle-nn ^0.9, candle-transformers ^0.9, hf-hub ^0.4, rubato ^0.15, symphonia, and tokenizers

candle-core:

Candle ML framework for Whisper transcription

metal

GPU acceleration for Whisper (optional)

Enables metal of candle-core ^0.9, candle-nn ^0.9, and candle-transformers ^0.9

cuda

Enables cuda of candle-core ^0.9, candle-nn ^0.9, and candle-transformers ^0.9

accelerate

Enables accelerate of candle-core ^0.9, candle-nn ^0.9, and candle-transformers ^0.9

replay

Time-travel replay for agent sessions

Affects memvid::replay_ops

encryption

Password-based encryption capsules (.mv2e)

Enables aes-gcm, argon2, rand ^0.8, and zeroize

argon2:

Encryption capsules (.mv2e) - feature-gated

Affects memvid-core::encryption

symspell_cleanup

SymSpell-based PDF text cleanup - fixes broken word spacing

Enables symspell ^0.4

SymSpell for PDF text cleanup - fixes broken word spacing from PDF extraction

Affects memvid-core::symspell_cleanup

api_embed

API-based embedding providers (OpenAI, Anthropic, etc.) - requires network

Enables reqwest ^0.12

HTTP client for API-based embedding providers (OpenAI, etc.)

Affects memvid-core::api_embed

simd default

SIMD acceleration for vector distance calculations

Enables wide

Affects simd::l2_distance_squared_simd, simd::l2_distance_simd

hnsw_bench

Enables hnsw, rand ^0.8, rand_pcg ^0.3, and space ^0.17

Affects vec::Euclidean, vec::HnswVecIndex

Features from optional dependencies

jsonwebtoken implicit feature

Enables jsonwebtoken

jsonwebtoken:

Create and decode JWTs in a strongly typed way

rustfft implicit feature

Enables rustfft

rustfft:

High-performance FFT library written in pure Rust