auto-archiver/pyproject.toml

121 wiersze
3.3 KiB
TOML

[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
[project]
name = "auto-archiver"
2025-03-14 13:42:40 +00:00
version = "0.13.6"
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"
2024-12-31 14:09:38 +00:00
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)",
2025-03-12 10:24:57 +00:00
"opentimestamps (>=0.4.5,<0.5.0)",
2024-12-31 14:09:38 +00:00
]
2025-01-13 19:40:12 +00:00
[tool.poetry.group.dev.dependencies]
pytest = "^8.3.4"
autopep8 = "^2.3.1"
pytest-loguru = "^0.4.0"
2025-02-18 23:32:03 +00:00
pytest-mock = "^3.14.0"
2025-03-11 17:25:24 +00:00
ruff = "^0.9.10"
pre-commit = "^4.1.0"
2024-12-31 14:09:38 +00:00
2025-01-15 21:45:29 +00:00
[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"
2025-02-10 22:58:52 +00:00
sphinx-book-theme = "^1.1.3"
2025-02-11 18:40:44 +00:00
linkify-it-py = "^2.0.3"
2025-01-15 21:45:29 +00:00
[project.scripts]
auto-archiver = "auto_archiver.__main__:main"
[project.urls]
homepage = "https://github.com/bellingcat/auto-archiver"
repository = "https://github.com/bellingcat/auto-archiver"
2025-01-13 19:40:12 +00:00
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",
2025-03-10 16:05:23 +00:00
]
[tool.ruff]
#exclude = ["docs"]
line-length = 120
2025-03-12 10:35:56 +00:00
# Remove this for a more detailed lint report
output-format = "concise"
2025-03-13 13:55:31 +00:00
# TODO: temp ignore rule for timestamping_enricher to allow for open PR
exclude = ["src/auto_archiver/modules/timestamping_enricher/*"]
2025-03-12 10:35:56 +00:00
2025-03-10 16:05:23 +00:00
[tool.ruff.lint]
# Extend the rules to check for by adding them to this option:
# See documentation for more details: https://docs.astral.sh/ruff/rules/
#extend-select = ["B"]
2025-03-10 16:05:23 +00:00
[tool.ruff.lint.per-file-ignores]
# Ignore import violations in __init__.py files
2025-03-10 21:45:30 +00:00
"__init__.py" = ["F401", "F403"]
# Ignore 'useless expression' in manifest files.
"__manifest__.py" = ["B018"]
2025-03-10 16:05:23 +00:00
2025-03-13 13:55:31 +00:00
2025-03-10 16:05:23 +00:00
[tool.ruff.format]
docstring-code-format = false