[project]
name = "devplacepy"
version = "1.0.0"
description = "DevPlace - The Developer Social Network"
requires-python = ">=3.12"
dependencies = [
    "fastapi",
    "uvicorn[standard]",
    "jinja2",
    "python-multipart",
    "dataset",
    "passlib[bcrypt]",
    "python-dotenv",
    "aiofiles",
    "httpx[http2]",
    "curl_cffi",
    "brotli",
    "zstandard",
    "cryptography",
    "PyJWT",
    "multiavatar",
    "locust",
    "Pillow",
    "imagehash",
    "uuid_utils",
    "mistune",
    "emoji",
    "pypdf",
    "playwright",
    "playwright-stealth",
    "chromadb",
    "weasyprint",
    "cairosvg",
    "sqlglot",
    "curl_cffi",
    "faker",
    "defusedxml",
]

[project.scripts]
devplace = "devplacepy.cli:main"
devii = "devplacepy.services.devii.cli:main"
devplace-xmlrpc = "devplacepy.services.xmlrpc.server:main"

[project.optional-dependencies]
dev = ["pytest", "playwright", "requests", "coverage"]
bots = ["playwright", "faker"]

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

[tool.pytest.ini_options]
testpaths = ["tests/unit", "tests/api", "tests/e2e"]
python_files = ["*.py"]
addopts = "--tb=line -rf -p no:xdist"
filterwarnings = [
    "ignore:'crypt' is deprecated",
    "ignore:Using `httpx` with `starlette.testclient` is deprecated",
    "ignore:invalid escape sequence",
]
