[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
# This tells pip/uv HOW to build your package into a .whl file

[project]
name = "intelliscraper-core"
version = "0.1.1"
description = "Smart web scraper that abstracts away complexity - from simple sites to highly protected ones."
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
    "bs4>=0.0.2",
    "html-to-markdown>=1.16.0",
    "html5lib>=1.1",
    "playwright>=1.55.0",
    "pydantic>=2.11.10",
]

authors = [{ name = "Omkar Musale", email = "omkarmusaleich@gmail.com" }]

maintainers = [{ name = "Omkar Musale", email = "omkarmusaleich@gmail.com" }]

license = { file = "LICENSE" }

keywords = [
    "web-scraping",
    "scraper",
    "playwright",
    "anti-detection",
    "proxy",
    "crawling",
]

classifiers = [
    # Development status
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",

    "Topic :: Internet :: WWW/HTTP",
    "Topic :: Software Development :: Libraries :: Python Modules",

    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.12",

    # Operating systems
    "Operating System :: OS Independent",
]

[dependency-groups]
dev = ["black>=25.9.0", "isort>=6.0.1", "pytest>=8.4.2"]

[project.urls]
Homepage = "https://github.com/omkarmusale0910/IntelliScraper"
# Documentation = "https://intelliscraper.readthedocs.io"  # If you have docs
Repository = "https://github.com/omkarmusale0910/IntelliScraper"
Issues = "https://github.com/omkarmusale0910/IntelliScraper/issues"
Changelog = "https://github.com/omkarmusale0910/IntelliScraper/blob/main/CHANGELOG.md"


[tool.hatch.build.targets.wheel]
packages = ["intelliscraper-core"]

exclude = ["/.github/", "/tests/", "/.gitignore", "**/*.pyc", "**/__pycache__/"]

[project.scripts]
intelliscraper-session = "intelliscraper.scripts.get_session_data:main"
