mocra-core 0.4.1

The mocra crawler framework runtime: errors, cache, utilities, domain models, downloader, data-plane queue, coordination, scheduler and engine.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "mocra-core"
version = "0.4.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The mocra crawler framework runtime: errors, cache, utilities, domain models, downloader, data-plane queue, coordination, scheduler and engine."
homepage = "https://github.com/ouiex/mocra"
documentation = "https://docs.rs/mocra-core"
readme = "README.md"
keywords = [
    "crawler",
    "scraping",
    "framework",
    "async",
]
categories = [
    "network-programming",
    "web-programming",
    "asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ouiex/mocra"
resolver = "2"

[features]
cluster-embedded = ["dep:mocra-cluster"]
dashboard = [
    "dep:tower-http",
    "dep:axum",
]
excel = [
    "dep:calamine",
    "polars",
]
polars = ["dep:polars"]
queue-kafka = ["dep:rdkafka"]
queue-nats = ["dep:async-nats"]
store = [
    "dep:sea-orm",
    "dep:mocra-store",
]

[lib]
name = "mocra_core"
path = "src/lib.rs"

[dependencies.async-nats]
version = "0.38"
optional = true

[dependencies.async-trait]
version = "0.1"

[dependencies.axum]
version = "0.8"
features = ["json"]
optional = true

[dependencies.bloomfilter]
version = "3"

[dependencies.calamine]
version = "0.33.0"
features = [
    "chrono",
    "dates",
]
optional = true

[dependencies.chrono]
version = "0.4.43"
features = ["serde"]

[dependencies.crc32fast]
version = "1.5.0"

[dependencies.cron]
version = "0.15"

[dependencies.dashmap]
version = "6"

[dependencies.dyn-clone]
version = "1"

[dependencies.flate2]
version = "1.1.9"

[dependencies.futures]
version = "0.3"

[dependencies.futures-util]
version = "0.3"

[dependencies.indexmap]
version = "2"
features = ["serde"]

[dependencies.log]
version = "0.4"

[dependencies.md5]
version = "0.8"

[dependencies.metrics]
version = "0.24"

[dependencies.metrics-exporter-prometheus]
version = "0.18"

[dependencies.mocra-cluster]
version = "0.4.1"
optional = true

[dependencies.mocra-dag]
version = "0.4.1"

[dependencies.mocra-proxy]
version = "0.4.1"

[dependencies.mocra-store]
version = "0.4.1"
optional = true

[dependencies.once_cell]
version = "1"

[dependencies.polars]
version = "0.52.0"
features = [
    "json",
    "lazy",
    "serde",
    "csv",
    "timezones",
    "strings",
    "ipc",
    "dtype-decimal",
]
optional = true

[dependencies.rand]
version = "0.9.2"

[dependencies.rdkafka]
version = "0.39"
features = ["cmake-build"]
optional = true

[dependencies.regex]
version = "1"

[dependencies.reqwest]
version = "0.13"
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.rmp-serde]
version = "1.3"

[dependencies.sea-orm]
version = "1"
features = [
    "postgres-array",
    "runtime-tokio-native-tls",
    "sqlx-postgres",
    "sqlx-sqlite",
]
optional = true

[dependencies.semver]
version = "1"
features = ["serde"]

[dependencies.serde]
version = "1"
features = [
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1"

[dependencies.serde_path_to_error]
version = "0.1"

[dependencies.sysinfo]
version = "0.38"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tokio-tungstenite]
version = "0.28"
features = ["native-tls"]

[dependencies.toml]
version = "0.9"

[dependencies.tower-http]
version = "0.6"
features = ["cors"]
optional = true

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-appender]
version = "0.2"

[dependencies.tracing-log]
version = "0.2"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "time",
    "json",
]

[dependencies.url]
version = "2"

[dependencies.uuid]
version = "1"
features = [
    "serde",
    "v7",
    "zerocopy",
    "v4",
]

[dependencies.zstd]
version = "0.13"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio]
version = "1"
features = ["full"]