[package]
edition = "2024"
rust-version = "1.88"
name = "mocra"
version = "0.3.0"
build = false
exclude = [
"target/**",
"data/**",
"logs/**",
"raft_data/**",
"tests/logs/**",
"docker-compose.kafka.yml",
"scripts/**",
".cargo/**",
".claude/**",
".github/**",
".idea/**",
"Cargo.toml.orig",
"0",
"*.log",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A distributed, event-driven crawling and data collection framework"
homepage = "https://github.com/ouiex/mocra"
documentation = "https://docs.rs/mocra"
readme = "README.md"
keywords = [
"crawler",
"distributed",
"queue",
"scraping",
"framework",
]
categories = [
"network-programming",
"asynchronous",
"web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ouiex/mocra"
[features]
default = ["mimalloc"]
js-v8 = ["dep:v8"]
mimalloc = ["dep:mimalloc"]
polars = []
[lib]
name = "mocra"
path = "src/lib.rs"
[[bin]]
name = "metrics_node"
path = "src/bin/metrics_node.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8.9"
features = ["json"]
[dependencies.base64]
version = "0.22"
[dependencies.bloomfilter]
version = "3"
[dependencies.calamine]
version = "0.35.0"
features = [
"chrono",
"dates",
]
[dependencies.chrono]
version = "0.4.41"
features = ["serde"]
[dependencies.chrono-tz]
version = "0.10"
[dependencies.crc32fast]
version = "1.5.0"
[dependencies.cron]
version = "0.16.0"
[dependencies.dashmap]
version = "6.2.1"
[dependencies.dyn-clone]
version = "1"
[dependencies.env_logger]
version = "0.11.10"
[dependencies.flate2]
version = "1.1.9"
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.indexmap]
version = "2.14.0"
features = ["serde"]
[dependencies.log]
version = "0.4"
[dependencies.md5]
version = "0.8"
[dependencies.metrics]
version = "0.24.6"
[dependencies.metrics-exporter-prometheus]
version = "0.18.3"
[dependencies.mimalloc]
version = "0.1.50"
optional = true
default-features = false
[dependencies.once_cell]
version = "1"
[dependencies.openraft]
version = "0.10.0-alpha.20"
features = [
"serde",
"tokio-rt",
]
[dependencies.polars]
version = "0.53.0"
features = [
"json",
"lazy",
"serde",
"csv",
"timezones",
"strings",
"ipc",
"parquet",
"dtype-decimal",
]
[dependencies.polars-lazy]
version = "0.53.0"
features = ["pivot"]
[dependencies.polars-ops]
version = "0.53.0"
features = ["pivot"]
[dependencies.rand]
version = "0.10.1"
[dependencies.rdkafka]
version = "0.39"
features = ["cmake-build"]
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.13.3"
features = [
"http2",
"charset",
"native-tls",
"brotli",
"form",
"cookies",
"json",
"socks",
"gzip",
"deflate",
"zstd",
"hickory-dns",
"stream",
]
default-features = false
[dependencies.reqwest_cookie_store]
version = "0.10"
features = ["serde"]
[dependencies.ring]
version = "0.17"
[dependencies.rmp-serde]
version = "1.3"
[dependencies.rocksdb]
version = "0.24"
[dependencies.sea-orm]
version = "1.1.20"
features = [
"postgres-array",
"runtime-tokio-native-tls",
"sqlx-postgres",
"sqlx-sqlite",
]
[dependencies.semver]
version = "1"
features = ["serde"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_path_to_error]
version = "0.1"
[dependencies.serde_urlencoded]
version = "0.7"
[dependencies.sha1]
version = "0.11.0"
[dependencies.siphasher]
version = "1"
[dependencies.sysinfo]
version = "0.38.4"
[dependencies.tempfile]
version = "3.27.0"
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3.47"
features = [
"local-offset",
"formatting",
"parsing",
]
[dependencies.tokio]
version = "1.52.3"
features = ["full"]
[dependencies.tokio-tungstenite]
version = "0.29.0"
features = ["native-tls"]
[dependencies.toml]
version = "1.1.2"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2.5"
[dependencies.tracing-log]
version = "0.2"
[dependencies.tracing-subscriber]
version = "0.3.23"
features = [
"env-filter",
"time",
"json",
]
[dependencies.url]
version = "2"
[dependencies.urlencoding]
version = "2"
[dependencies.uuid]
version = "1.23.1"
features = [
"serde",
"v7",
"zerocopy",
"v4",
]
[dependencies.v8]
version = "149"
optional = true
[dependencies.zstd]
version = "0.13"
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true