[package]
name = "millipede-core"
description = "Core primitives for the Millipede web crawler: request model, storage traits, events, errors, configuration."
version = "0.1.1"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"
keywords = ["crawler", "scraper", "crawlee", "web-crawler"]
categories = ["web-programming", "asynchronous"]
[package.metadata.docs.rs]
all-features = true
[lints]
workspace = true
[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
anyhow = { workspace = true }
url = { workspace = true }
time = { workspace = true }
http = { workspace = true }
bytes = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }
async-trait = { workspace = true }
futures-util = { workspace = true }
tracing = { workspace = true }
cookie_store = { workspace = true }
sysinfo = { workspace = true }
globset = { workspace = true }
regex = { workspace = true }
psl = { workspace = true }
quick-xml = { workspace = true }
flate2 = { workspace = true }
[dev-dependencies]
criterion = { workspace = true, features = ["async_tokio"] }
proptest = { workspace = true }
millipede-storage-memory = { path = "../millipede-storage-memory" }
tokio = { workspace = true, features = ["test-util"] }
[[bench]]
name = "engine_overhead"
harness = false