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

[project]
name = "pypowerwall-server"
version = "0.1.9"  # Also defined in app/config.py as SERVER_VERSION
description = "A high-performance FastAPI-based server for monitoring and managing Tesla Powerwall systems"
readme = "README.md"
authors = [
    {name = "Jason Cox", email = "jason@jasonacox.com"}
]
license = "MIT"
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Intended Audience :: End Users/Desktop",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Home Automation",
    "Topic :: System :: Monitoring",
]
keywords = ["tesla", "powerwall", "monitoring", "api", "fastapi"]
requires-python = ">=3.10"
dependencies = [
    "fastapi>=0.115.0",
    "uvicorn[standard]>=0.29.0",
    "pydantic>=2.11.0",
    "pydantic-settings>=2.9.0",
    "pypowerwall>=0.14.0",
    "aiohttp>=3.12.0",
    "websockets>=13.1",
    "psutil>=6.1.0",
    "beautifulsoup4>=4.12.0",
]

[project.urls]
Homepage = "https://github.com/jasonacox/pypowerwall-server"
Repository = "https://github.com/jasonacox/pypowerwall-server"
Documentation = "https://github.com/jasonacox/pypowerwall-server#readme"
"Bug Tracker" = "https://github.com/jasonacox/pypowerwall-server/issues"

[project.scripts]
pypowerwall-server = "app.main:cli"

[tool.setuptools.packages.find]
where = ["."]
include = ["app*"]

[tool.setuptools.package-data]
app = ["static/**/*"]

[tool.pylint.messages_control]
disable = [
    "logging-fstring-interpolation",  # Allow f-strings and format() in logging
]
