# 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"
name = "ras-crawl"
version = "0.1.1"
build = false
exclude = [
    ".todo",
    ".bash_history",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reusable Rust crawling, extraction, and optional GUI building blocks."
readme = "README.md"
keywords = [
    "crawler",
    "scraping",
    "extraction",
    "openai",
    "gui",
]
license = "MIT OR Apache-2.0"
repository = "https://radicle.r0r-5chach.xyz/rad:zjmGapZVM54fcD7t1xADFgMsxHh9.git"

[features]
checkpoints = ["dep:ciborium"]
default = [
    "checkpoints",
    "url-filtering",
    "url-priority",
    "query-helpers",
    "sitemap",
]
gui = [
    "dep:eframe",
    "dep:egui",
    "dep:rfd",
    "dep:dirs",
    "dep:simplelog",
    "dep:tokio-util",
    "checkpoints",
]
headless = ["dep:chromiumoxide"]
openai = ["dep:async-openai"]
query-helpers = []
sitemap = ["dep:sitemap"]
url-filtering = []
url-priority = []

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

[dependencies.async-openai]
version = "0.35.0"
features = [
    "rustls",
    "chat-completion",
    "response-types",
    "responses",
]
optional = true
default-features = false

[dependencies.async-recursion]
version = "1.1.1"

[dependencies.chromiumoxide]
version = "0.9.1"
optional = true

[dependencies.chrono]
version = "0.4.42"
features = [
    "clock",
    "std",
]
default-features = false

[dependencies.ciborium]
version = "0.2.2"
optional = true

[dependencies.csv]
version = "1.4.0"

[dependencies.dirs]
version = "6.0.0"
optional = true

[dependencies.eframe]
version = "0.34.1"
features = [
    "default_fonts",
    "glow",
    "wayland",
    "x11",
]
optional = true
default-features = false

[dependencies.egui]
version = "0.34.1"
optional = true

[dependencies.futures]
version = "0.3"
features = ["std"]
default-features = false

[dependencies.log]
version = "0.4.28"

[dependencies.regex]
version = "1.11.3"

[dependencies.reqwest]
version = "0.12.24"
features = [
    "rustls-tls",
    "json",
]
default-features = false

[dependencies.rfd]
version = "0.17.2"
optional = true

[dependencies.schemars]
version = "1.2.1"
features = ["derive"]

[dependencies.scraper]
version = "0.24.0"
default-features = false

[dependencies.serde]
version = "1.0.228"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.145"

[dependencies.simplelog]
version = "0.12.2"
optional = true

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

[dependencies.thiserror]
version = "2.0.17"

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

[dependencies.tokio-util]
version = "0.7.18"
optional = true

[dependencies.url]
version = "2.5.7"
features = ["serde"]

[dependencies.validator]
version = "0.20.0"
features = ["derive"]
