[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "ForageFacebook"
version = "1.0.6"
description = "CLI tool to scrape posts, comments, and reactions from private Facebook groups"
readme = "README.md"
requires-python = ">=3.10"
license = "MPL-2.0"
authors = [
    { name = "jwmoss", email = "jwmoss@users.noreply.github.com" }
]
keywords = ["facebook", "scraper", "cli", "automation", "playwright"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Internet :: WWW/HTTP :: Browsers",
    "Topic :: Utilities",
]
dependencies = [
    "click>=8.0",
    "playwright>=1.40",
    "pydantic>=2.0",
    "rich>=13.0",
]

[project.urls]
Homepage = "https://github.com/jwmoss/forage"
Repository = "https://github.com/jwmoss/forage"
Documentation = "https://github.com/jwmoss/forage#readme"
Issues = "https://github.com/jwmoss/forage/issues"
Changelog = "https://github.com/jwmoss/forage/blob/master/CHANGELOG.md"

[project.optional-dependencies]
dev = [
    "ty>=0.0.1a6",
    "pytest>=8.0",
    "pytest-asyncio>=0.23",
]

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

[tool.hatch.build.targets.wheel]
packages = ["src/forage"]

[tool.ty]
# Astral's ty type checker configuration
[tool.ty.environment]
python-version = "3.10"
extra-paths = ["src"]
