[tool.poetry]
name = "sneakpeek-py"
packages = [{ include = "sneakpeek" }]
version = "0.2.2"
description = "Sneakpeek is a framework that helps to quickly and conviniently develop scrapers. It's the best choice for scrapers that have some specific complex scraping logic that needs to be run on a constant basis."
authors = ["Dan Yazovsky <daniil.yazovsky@gmail.com>"]
maintainers = ["Dan Yazovsky <daniil.yazovsky@gmail.com>"]
repository = "https://github.com/flulemon/sneakpeek"
documentation = "https://sneakpeek-py.readthedocs.io/en/latest/"
homepage = "https://github.com/flulemon/sneakpeek"
license = "BSD-3-Clause"
readme = "README.md"
classifiers = [
    "Operating System :: OS Independent",
    "Development Status :: 2 - Pre-Alpha",
    "License :: OSI Approved :: BSD License",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Intended Audience :: Developers",
    "Framework :: FastAPI",
    "Framework :: Pydantic",
    "Topic :: Software Development :: Libraries :: Application Frameworks",
    "Topic :: Internet :: WWW/HTTP :: Indexing/Search"
]

[tool.poetry.dependencies]
python = "^3.10"
pydantic = "^1.10.7"
fastapi = "^0.95.0"
fastapi-jsonrpc = "^2.4.1"
redis = "^4.5.4"
apscheduler = "^3.10.1"
aiohttp = "^3.8.4"
uvicorn = "^0.21.1"
cachetools = "^5.3.0"
prometheus-client = "^0.16.0"
fake-useragent = "^1.1.3"
Sphinx = { version = "4.2.0", optional = true }
sphinx-rtd-theme = { version = "1.0.0", optional = true }
sphinxcontrib-napoleon = { version = "0.7", optional = true }
yarl = "^1.9.1"

[tool.poetry.group.dev.dependencies]
pytest = "^7.2.2"
fakeredis = "2.11.0"
black = "^23.3.0"
pytest-lazy-fixture = "^0.6.3"
pytest-asyncio = "^0.21.0"
pytest-cov = "^4.0.0"
aioresponses = "^0.7.4"
pytest-xdist = "^3.3.0"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.pytest.ini_options]
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"

[tool.poetry.extras]
docs = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-napoleon"]