mocra 0.2.1

A distributed, event-driven crawling and data collection framework
# 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"
version = "0.2.1"
build = false
exclude = [
    "target/**",
    "data/**",
    "logs/**",
    "tests/logs/**",
    "docker-compose.kafka.yml",
    "scripts/**",
    ".github/**",
    ".idea/**",
    "*.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"
features = ["json"]

[dependencies.base64]
version = "0.22"

[dependencies.bloomfilter]
version = "3"

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

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

[dependencies.chrono-tz]
version = "0.10"

[dependencies.crc32fast]
version = "1.5.0"

[dependencies.cron]
version = "0.15"

[dependencies.dashmap]
version = "6"

[dependencies.deadpool-redis]
version = "0.22"
features = [
    "json",
    "script",
    "serde",
    "streams",
]

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

[dependencies.env_logger]
version = "0.11"

[dependencies.flate2]
version = "1.1.9"

[dependencies.futures]
version = "0.3"

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

[dependencies.log]
version = "0.4"

[dependencies.md5]
version = "0.8"

[dependencies.metrics]
version = "0.24"

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

[dependencies.mimalloc]
version = "0.1"
optional = true
default-features = false

[dependencies.once_cell]
version = "1"

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

[dependencies.polars-lazy]
version = "0.52.0"
features = ["pivot"]

[dependencies.polars-ops]
version = "0.52.0"
features = ["pivot"]

[dependencies.rand]
version = "0.9.2"

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

[dependencies.redis]
version = "0.32"
features = [
    "tokio-comp",
    "safe_iterators",
    "tokio-native-tls-comp",
]

[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.ring]
version = "0.17"

[dependencies.rmp-serde]
version = "1.3"

[dependencies.sea-orm]
version = "1"
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.10"

[dependencies.siphasher]
version = "1"

[dependencies.sysinfo]
version = "0.38"

[dependencies.tempfile]
version = "3"

[dependencies.thiserror]
version = "2"

[dependencies.time]
version = "0.3"
features = [
    "local-offset",
    "formatting",
    "parsing",
]

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

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

[dependencies.toml]
version = "0.9"

[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.urlencoding]
version = "2"

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

[dependencies.v8]
version = "145"
optional = true

[dependencies.zstd]
version = "0.13"

[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true