[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

[project]
name = "auto-archiver"
version = "0.13.5"
description = "Automatically archive links to videos, images, and social media content from Google Sheets (and more)."

requires-python = ">=3.10,<3.13"
license = "MIT"
authors = [
    { name = "Bellingcat", email = "tech@bellingcat.com" },
]
readme = "README.md"
keywords = ["archive", "oosi", "osint", "scraping"]
classifiers = [
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3"
]

dependencies = [
    "gspread (>=0.0.0)",
    "beautifulsoup4 (>=0.0.0)",
    "bs4 (>=0.0.0)",
    "loguru (>=0.0.0)",
    "ffmpeg-python (>=0.0.0)",
    "selenium (>=0.0.0)",
    "telethon (>=0.0.0)",
    "google-api-python-client (>=0.0.0)",
    "google-auth-httplib2 (>=0.0.0)",
    "google-auth-oauthlib (>=0.0.0)",
    "oauth2client (>=0.0.0)",
    "pdqhash (>=0.0.0)",
    "pillow (>=0.0.0)",
    "python-slugify (>=0.0.0)",
    "dateparser (>=0.0.0)",
    "python-twitter-v2 (>=0.0.0)",
    "instaloader (>=0.0.0)",
    "tqdm (>=0.0.0)",
    "jinja2 (>=0.0.0)",
    "pyOpenSSL (==24.2.1)",
    "cryptography (>=41.0.0,<42.0.0)",
    "boto3 (>=1.28.0,<2.0.0)",
    "dataclasses-json (>=0.0.0)",
    "yt-dlp (>=2025.1.26,<2026.0.0)",
    "numpy (==2.1.3)",
    "vk-url-scraper (>=0.0.0)",
    "requests[socks] (>=0.0.0)",
    "warcio (>=0.0.0)",
    "jsonlines (>=0.0.0)",
    "pysubs2 (>=0.0.0)",
    "retrying (>=0.0.0)",
    "tsp-client (>=0.0.0)",
    "certvalidator (>=0.0.0)",
    "rich-argparse (>=1.6.0,<2.0.0)",
    "ruamel-yaml (>=0.18.10,<0.19.0)",
]

[tool.poetry.group.dev.dependencies]
pytest = "^8.3.4"
autopep8 = "^2.3.1"
pytest-loguru = "^0.4.0"
pytest-mock = "^3.14.0"

[tool.poetry.group.docs.dependencies]
sphinx = "^8.1.3"
sphinx-autoapi = "^3.4.0"
sphinxcontrib-mermaid = "^1.0.0"
sphinx-autobuild = "^2024.10.3"
sphinx-copybutton = "^0.5.2"
myst-parser = "^4.0.0"
sphinx-book-theme = "^1.1.3"
linkify-it-py = "^2.0.3"


[project.scripts]
auto-archiver = "auto_archiver.__main__:main"

[project.urls]
homepage = "https://github.com/bellingcat/auto-archiver"
repository = "https://github.com/bellingcat/auto-archiver"
documentation = "https://github.com/bellingcat/auto-archiver"


[tool.pytest.ini_options]
markers = [
    "download: marks tests that download content from the network",
    "incremental: marks a class to run tests incrementally. If a test fails in the class, the remaining tests will be skipped",
]