# pyproject.toml

[build-system]
requires = ["uv_build >= 0.7.19, <0.9.0"]
build-backend = "uv_build"

[project]
name = "promptmask"
version = "0.1.1"
authors = [
    { name = "cxumol", email = "cxumol@gmail.com" },
]
description = "A local-first privacy layer for Large Language Models."
readme = "README.md"
requires-python = ">=3.8"
classifiers = [
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Software Development :: Libraries",
    "Topic :: Software Development",
]
dependencies = [
    "openai>=1.10",
    "httpx>=0.25",
    "tomli; python_version < '3.11'",
]
license = "MIT"
license-files = ["LICEN[CS]E*"]

[project.urls]
Homepage = "https://github.com/cxumol/promptmask"
Issues = "https://github.com/cxumol/promptmask/issues"

[project.optional-dependencies]
web = [
    "brotli",
    "tomli-w",
    "httpx-sse>=0.4",
    "fastapi>=0.100",
    "uvicorn[standard]>=0.20",
]
dev = [
    "ruff",
    "tqdm",
    "icecream",
    "pytest",
    "pytest-asyncio"
]
docs = [
    "mkdocs",
    "mkdocstrings[python]>=0.18",
]

[project.scripts]
promptmask-web = "promptmask.web.main:run_server"

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-data]
promptmask = ["*.toml"]
"promptmask.web" = ["static/*"]
