[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "cfspider"
version = "1.8.9"
description = "Cloudflare Workers proxy IP pool client"
readme = "README.md"
license = {text = "Apache-2.0"}
requires-python = ">=3.8"
authors = [
    {name = "violettools", email = "violet@violetteam.cloud"}
]
keywords = ["cloudflare", "workers", "proxy", "spider", "scraper", "crawler"]
classifiers = [
    "Development Status :: 4 - Beta",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3",
]
dependencies = [
    "requests>=2.20.0",
    "httpx[http2]>=0.25.0",
    "curl_cffi>=0.5.0",
    "beautifulsoup4>=4.9.0",
    # 浏览器自动化
    "playwright>=1.40.0",
    # XPath 数据提取
    "lxml>=4.9.0",
    # JSONPath 数据提取
    "jsonpath-ng>=1.5.0",
    # Excel 导出
    "openpyxl>=3.0.0",
    # 进度条显示
    "tqdm>=4.60.0",
]

[project.optional-dependencies]
# 浏览器自动化
browser = ["playwright>=1.40.0"]
# XPath 数据提取
xpath = ["lxml>=4.9.0"]
# JSONPath 数据提取
jsonpath = ["jsonpath-ng>=1.5.0"]
# Excel 导出
excel = ["openpyxl>=3.0.0"]
# 进度条显示
progress = ["tqdm>=4.60.0"]
# 数据处理全功能（推荐）
extract = [
    "lxml>=4.9.0",
    "jsonpath-ng>=1.5.0",
    "openpyxl>=3.0.0",
    "tqdm>=4.60.0",
]
# 全部可选功能
all = [
    "playwright>=1.40.0",
    "lxml>=4.9.0",
    "jsonpath-ng>=1.5.0",
    "openpyxl>=3.0.0",
    "tqdm>=4.60.0",
]

[project.scripts]
cfspider = "cfspider.cli:main"

[project.urls]
Homepage = "https://cfspider.com"
Repository = "https://github.com/violettoolssite/CFspider"

[tool.setuptools.packages.find]
include = ["cfspider*"]

[tool.setuptools.package-data]
cfspider = ["workers/*.js"]


