[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "clide-web" version = "1.0.0" description = "Web server for Clide TUI — replaces ttyd + zellij" requires-python = ">=3.12" license = "MIT" authors = [ { name = "Jeroen Schweitzer", email = "you@example.com" } ] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: FastAPI", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", ] dependencies = [ "clide", "fastapi>=0.110", "uvicorn[standard]>=0.29", "pydantic-settings>=2.0.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.23.0", "httpx>=0.27.0", "ruff>=0.3.0", "mypy>=1.8.0", ] [project.scripts] clide-web = "clide_web.__main__:main" clide-web-setup = "clide_web.setup_wizard:run_setup" [tool.hatch.build.targets.wheel] packages = ["clide_web"] [tool.ruff] target-version = "py312" line-length = 100 src = ["clide_web"] [tool.ruff.lint] select = [ "E", "W", "F", "I", "B", "C4", "UP", "ARG", "SIM", "TCH", "PTH", "ASYNC", ] ignore = [ "E501", "ARG002", "SIM102", "SIM105", "SIM115", "PTH123", "TCH002", "TCH003", ] [tool.ruff.lint.isort] known-first-party = ["clide_web"] [tool.mypy] python_version = "3.12" strict = true warn_return_any = true warn_unused_configs = true