[dependencies.aes-gcm]
version = "^0.10"
[dependencies.anyhow]
version = "^1.0"
[dependencies.async-trait]
version = "^0.1"
[dependencies.base64]
version = "^0.22"
[dependencies.chacha20poly1305]
version = "^0.10"
[dependencies.chromiumoxide]
default-features = false
features = ["tokio-runtime"]
optional = true
version = "^0.7"
[dependencies.chrono]
features = ["serde"]
version = "^0.4"
[dependencies.dirs]
version = "^5.0"
[dependencies.fantoccini]
optional = true
version = "^0.21"
[dependencies.fastrand]
version = "^2.3"
[dependencies.futures]
version = "^0.3"
[dependencies.humantime-serde]
version = "^1.1"
[dependencies.keyring]
optional = true
version = "^3.6"
[dependencies.parking_lot]
version = "^0.12"
[dependencies.pbkdf2]
version = "^0.12"
[dependencies.rand]
version = "^0.9"
[dependencies.regex]
version = "^1.12"
[dependencies.reqwest]
default-features = false
features = ["json", "cookies", "rustls-tls"]
version = "^0.12"
[dependencies.scraper]
version = "^0.25"
[dependencies.secrecy]
version = "^0.8"
[dependencies.serde]
features = ["derive"]
version = "^1.0"
[dependencies.serde_json]
version = "^1.0"
[dependencies.sha2]
version = "^0.10"
[dependencies.thiserror]
version = "^2.0"
[dependencies.tokio]
features = ["full"]
version = "^1.49"
[dependencies.toml]
version = "^0.8"
[dependencies.tracing]
version = "^0.1"
[dependencies.url]
version = "^2.5"
[dependencies.urlencoding]
version = "^2.1"
[dependencies.uuid]
features = ["v4"]
version = "^1.19"
[dev-dependencies.anyhow]
version = "^1.0"
[dev-dependencies.tempfile]
version = "^3.24"
[dev-dependencies.tokio-test]
version = "^0.4"
[dev-dependencies.tracing-subscriber]
version = "^0.3"
[[example]]
name = "research_runner"
path = "examples/research_runner.rs"
required-features = ["all-providers"]
[features]
all-providers = ["grok", "claude", "gemini", "chatgpt", "perplexity", "notebooklm", "kaggle"]
chatgpt = []
chromium = ["dep:chromiumoxide"]
claude = []
core-providers = ["grok", "claude", "gemini", "chatgpt"]
default = ["chromium", "all-providers"]
firefox = ["dep:fantoccini"]
gemini = []
grok = []
kaggle = []
notebooklm = []
perplexity = []
rustls-tls = ["reqwest/rustls-tls"]
search-providers = ["grok", "perplexity", "chatgpt"]
secrecy = []
[lib]
name = "webpuppet"
path = "src/lib.rs"
[package]
authors = ["Tyler Zervas <tz-dev@vectorweight.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["web-programming", "development-tools"]
description = "Web browser programmatic automation and control library for research, testing, and workflow automation"
documentation = "https://docs.rs/webpuppet"
edition = "2021"
keywords = ["browser-automation", "ai", "puppeteer", "web-scraping"]
license = "MIT"
name = "webpuppet"
readme = "README.md"
repository = "https://github.com/tzervas/webpuppet-rs"
rust-version = "1.75.0"
version = "0.1.5-alpha"
[[test]]
name = "integration"
path = "tests/integration.rs"