Skip to content

Feature Flags

All optional capabilities in kumo are behind feature flags, so you only compile what you need.

Reference Table

Flag Pulls in Purpose
(default) CSS + regex selectors, all file stores, all middleware, HTTP cache, link extractor
derive kumo-derive #[derive(Extract)] for zero-boilerplate CSS extraction
jsonpath jsonpath-rust JSONPath selector on Response
xpath sxd-xpath XPath selector on Response
browser chromiumoxide Headless Chromium fetcher for JS-rendered pages
stealth wreq, wreq-util TLS/HTTP2 fingerprint spoofing + browser stealth patches¹
claude rig-core AnthropicClient for LLM extraction
openai rig-core OpenAiClient for LLM extraction
gemini rig-core GeminiClient for LLM extraction
ollama rig-core OllamaClient for local LLM extraction
llm rig-core, schemars Base LLM traits (implied by all provider flags)
postgres sqlx PostgresStore
sqlite sqlx SqliteStore
mysql sqlx MySqlStore
cloud object_store CloudStore — backend-agnostic cloud storage (LocalFileSystem + InMemory included)
cloud-s3 object_store/aws Adds Amazon S3 backend support to CloudStore
cloud-gcs object_store/gcp Adds Google Cloud Storage backend support to CloudStore
cloud-azure object_store/azure Adds Azure Blob Storage backend support to CloudStore
persistence FileFrontier — file-backed URL frontier that survives restarts
redis-frontier redis RedisFrontier — distributed URL frontier via Redis
otel opentelemetry, opentelemetry_sdk, opentelemetry-otlp, tracing-opentelemetry OTLP/gRPC export of all spans and events

¹ The stealth feature compiles BoringSSL from source. It requires cmake and nasm on the build machine. See Stealth Mode for setup instructions.

stealth is experimental because it depends on native BoringSSL builds and upstream browser fingerprint libraries can change quickly. For release work, verify the published wreq and wreq-util license metadata before tagging.

Common Combinations

Data science / scripting

kumo = { version = "0.2", features = ["sqlite", "derive"] }

Production crawl

kumo = { version = "0.2", features = ["postgres", "redis-frontier", "otel"] }

Cloud storage

# Write to S3
kumo = { version = "0.2", features = ["cloud-s3"] }

# Write to GCS
kumo = { version = "0.2", features = ["cloud-gcs"] }

# Write to Azure Blob
kumo = { version = "0.2", features = ["cloud-azure"] }

LLM extraction

# Cloud provider
kumo = { version = "0.2", features = ["claude"] }

# Local model
kumo = { version = "0.2", features = ["ollama"] }

Full-stack

kumo = { version = "0.2", features = [
    "derive", "xpath", "jsonpath",
    "browser", "stealth",
    "claude",
    "postgres", "redis-frontier",
    "cloud-s3",
    "otel",
] }