[project]
name = "air-convert"
version = "0.1.0"
description = "Utility for converting HTML to Air Tags"
readme = "README.md"
authors = [
  {name = "Audrey M. Roy Greenfeld", email = "audrey@feldroy.com"},
  {name = "Daniel Roy Greenfeld", email = "daniel@feldroy.com"}
]
maintainers = [
  {name = "Audrey M. Roy Greenfeld", email = "audrey@feldroy.com"},
  {name = "Daniel Roy Greenfeld", email = "daniel@feldroy.com"}
]
classifiers = [
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python",
    "Topic :: Internet",
    "Topic :: Software Development :: Libraries :: Application Frameworks",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Software Development :: Libraries",
    "Topic :: Software Development",
    "Typing :: Typed",
    "Development Status :: 3 - Alpha",
    "Environment :: Web Environment",
    "Framework :: FastAPI",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
]
license = {text = "Apache 2"}
dependencies = [
  "beautifulsoup4>=4.13.4",
  "typer",
]
requires-python = ">= 3.10"

[project.optional-dependencies]
test = [
    "coverage",  # testing
    "pytest",  # testing
    "ruff",  # linting
    "ty", # checking types
    "ipdb"    
]

[project.urls]

bugs = "https://github.com/feldroy/air_convert/issues"
changelog = "https://github.com/feldroy/air_convert/blob/master/changelog.md"
homepage = "https://github.com/feldroy/air_convert"

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

# [tool.setuptools.package-data]
# "*" = ["*.*"]

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

[project.scripts]
air_convert = "air_convert.cli:app"

[tool.ty]
# All rules are enabled as "error" by default; no need to specify unless overriding.
# Example override: relax a rule for the entire project (uncomment if needed).
# rules.TY015 = "warn"  # For invalid-argument-type, warn instead of error.


[tool.ruff]
line-length = 120

# [tool.ruff.lint]
# select = [
#     "E",   # pycodestyle errors
#     "W",   # pycodestyle warnings
#     "F",   # Pyflakes
#     "I",   # isort
#     "B",   # flake8-bugbear
#     "UP",  # pyupgrade
# ]

[tool.uv]
package = true
