[build-system]
requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "dead-letter"
version = "0.1.0"
description = "Convert .eml email exports to Markdown with YAML front matter"
readme = "README.md"
license = "MIT"
requires-python = ">=3.12"
authors = [{ name = "Big Cactus Labs" }]
keywords = ["eml", "email", "markdown", "converter", "archive"]
classifiers = [
  "Development Status :: 3 - Alpha",
  "Environment :: Console",
  "Environment :: Web Environment",
  "Intended Audience :: Developers",
  "Programming Language :: Python :: 3.12",
  "Topic :: Communications :: Email",
  "Topic :: Text Processing :: Markup :: Markdown",
]
dependencies = [
  "icalendar>=6.1.1",
  "mail-parser>=4.1.4",
  "mail-parser-reply>=1.35",
  "nh3>=0.2.20",
  "html-to-markdown>=2.9.1",
  "selectolax>=0.3.28",
  "pyyaml>=6.0.2",
]

[project.optional-dependencies]
cli = ["watchfiles>=1.0.0"]
ui = [
  "dead-letter[cli]",
  "fastapi>=0.111.0",
  "httpx>=0.28.0",
  "python-multipart>=0.0.18",
  "uvicorn[standard]>=0.30.0",
]
dev = [
  "dead-letter[ui]",
  "anyio>=4.0.0",
  "pytest>=9.0.0",
  "pytest-cov>=5.0.0",
]

[project.urls]
Homepage = "https://github.com/BigCactusLabs/dead-letter"
Repository = "https://github.com/BigCactusLabs/dead-letter"
Issues = "https://github.com/BigCactusLabs/dead-letter/issues"

[project.scripts]
dead-letter = "dead_letter.backend.cli:main"
dead-letter-ui = "dead_letter.backend.ui_server:main"

[tool.setuptools]
package-dir = {"" = "src"}

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

[tool.setuptools.package-data]
"dead_letter" = ["frontend/**/*"]

[tool.pytest.ini_options]
addopts = "--import-mode=importlib"
