# 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 = "2018"
name = "spider"
version = "1.95.8"
authors = ["j-mendez <jeff@a11ywatch.com>"]
description = "The fastest web crawler written in Rust."
documentation = "https://docs.rs/spider"
readme = "README.md"
keywords = [
    "crawler",
    "spider",
]
categories = [
    "web-programming",
    "command-line-utilities",
]
license = "MIT"
repository = "https://github.com/spider-rs/spider"
resolver = "2"

[package.metadata.docs.rs]
cargo-args = [
    "-Zunstable-options",
    "-Zrustdoc-scrape-examples",
]

[dependencies.ahash]
version = "0.8.11"

[dependencies.async-openai]
version = "0.21.0"
optional = true

[dependencies.async-trait]
version = "0.1.75"
optional = true

[dependencies.async_job]
version = "0.1.4"
optional = true

[dependencies.bytes]
version = "1.5.0"
features = ["serde"]

[dependencies.case_insensitive_string]
version = "0.2.2"
features = [
    "compact",
    "serde",
]

[dependencies.chromiumoxide]
version = "0.5.7"
features = [
    "tokio-runtime",
    "bytes",
]
optional = true
default-features = false

[dependencies.chrono]
version = "0.4.31"
optional = true

[dependencies.compact_str]
version = "0.7.1"

[dependencies.const_format]
version = "0.2.32"
optional = true

[dependencies.cron]
version = "0.12.0"
optional = true

[dependencies.cssparser]
version = "0.31.2"

[dependencies.ego-tree]
version = "0.6.2"

[dependencies.encoding_rs]
version = "0.8.33"
optional = true

[dependencies.fast_html5ever]
version = "0.26.6"

[dependencies.fastrand]
version = "2"
optional = true

[dependencies.flexbuffers]
version = "2.0.0"
optional = true

[dependencies.hashbrown]
version = "0.14.3"
default-features = true

[dependencies.http]
version = "1"
optional = true

[dependencies.http-cache]
version = "0.19.0"
optional = true
default-features = false

[dependencies.http-cache-reqwest]
version = "0.14.0"
optional = true

[dependencies.http-cache-semantics]
version = "2"
optional = true

[dependencies.itertools]
version = "0.12.0"
optional = true

[dependencies.lazy_static]
version = "1.4.0"

[dependencies.log]
version = "0.4"

[dependencies.lol_html]
version = "1.2.1"
optional = true

[dependencies.moka]
version = "0.12.1"
features = ["future"]
optional = true

[dependencies.napi]
version = "2"
features = [
    "async",
    "tokio_rt",
    "napi4",
]
optional = true

[dependencies.num_cpus]
version = "1.16.0"

[dependencies.percent-encoding]
version = "2.3.1"

[dependencies.quick-xml]
version = "0.31.0"
features = [
    "serde",
    "serialize",
    "async-tokio",
]

[dependencies.regex]
version = "1.10.4"
optional = true

[dependencies.reqwest]
version = "0.12"
features = [
    "brotli",
    "gzip",
    "deflate",
    "stream",
]

[dependencies.reqwest-middleware]
version = "0.3.0"
optional = true

[dependencies.selectors]
version = "0.25.0"

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.sitemap]
version = "0.4.1"
optional = true

[dependencies.smallvec]
version = "1.11.2"

[dependencies.string_concat]
version = "0.0.1"

[dependencies.strum]
version = "0.26.2"
features = ["derive"]

[dependencies.tendril]
version = "0.4.3"

[dependencies.tiktoken-rs]
version = "0.5.8"
optional = true

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
    "time",
    "parking_lot",
]

[dependencies.tokio-stream]
version = "0.1.14"

[dependencies.ua_generator]
version = "^0.4.2"
optional = true

[dependencies.url]
version = "2"

[features]
budget = []
cache = [
    "dep:reqwest-middleware",
    "dep:http-cache-reqwest",
]
cache_chrome_hybrid = [
    "cache",
    "chrome",
    "dep:http-cache-semantics",
    "dep:http-cache",
    "dep:http",
]
cache_mem = [
    "cache",
    "http-cache-reqwest/manager-moka",
]
cache_openai = ["dep:moka"]
chrome = ["dep:chromiumoxide"]
chrome_cpu = ["chrome"]
chrome_headed = ["chrome"]
chrome_headless_new = ["chrome"]
chrome_intercept = ["chrome"]
chrome_screenshot = ["chrome"]
chrome_stealth = ["chrome"]
chrome_store_page = [
    "chrome",
    "serde",
]
control = []
cookies = ["reqwest/cookies"]
cron = [
    "dep:async_job",
    "dep:chrono",
    "dep:cron",
    "dep:async-trait",
]
decentralized = [
    "serde",
    "flexbuffers",
]
decentralized_headers = [
    "dep:const_format",
    "dep:itertools",
]
default = [
    "sync",
    "reqwest/native-tls-alpn",
    "cookies",
    "ua_generator",
]
encoding = ["dep:encoding_rs"]
flexbuffers = ["dep:flexbuffers"]
fs = ["tokio/fs"]
full_resources = []
glob = [
    "dep:regex",
    "dep:itertools",
]
headers = []
jemalloc = ["tikv-jemallocator"]
napi = ["dep:napi"]
napi_rustls_tls = [
    "napi",
    "reqwest/rustls-tls",
]
openai = [
    "chrome",
    "serde",
    "chrome_intercept",
    "dep:async-openai",
    "dep:tiktoken-rs",
    "dep:lol_html",
    "dep:serde_json",
]
openai_slim_fit = []
real_browser = []
regex = ["dep:regex"]
reqwest_json = ["reqwest/json"]
serde = [
    "dep:serde",
    "hashbrown/serde",
    "compact_str/serde",
]
sitemap = ["dep:sitemap"]
smart = [
    "chrome",
    "dep:regex",
]
socks = ["reqwest/socks"]
spoof = ["dep:fastrand"]
sync = [
    "tokio/sync",
    "tokio/io-std",
]
time = []
ua_generator = ["dep:ua_generator"]

[target."cfg(all(not(windows), not(target_os = \"android\"), not(target_env = \"musl\")))".dependencies.tikv-jemallocator]
version = "0.5.0"
optional = true

[badges.maintenance]
status = "as-is"
