[project] name = "macropad-server" version = "0.9.5" description = "A cross-platform macro management application with desktop and web interfaces" readme = "README.md" requires-python = ">=3.11" license = {text = "MIT"} authors = [ {name = "jknapp"} ] keywords = ["macropad", "macro", "automation", "keyboard", "pwa"] dependencies = [ # Image processing "pillow>=10.0.0", # Keyboard/mouse automation "pyautogui>=0.9.54", "pyperclip>=1.8.0", # System tray "pystray>=0.19.5", # Web server "fastapi>=0.104.0", "uvicorn>=0.24.0", "websockets>=12.0", "python-multipart>=0.0.6", # For file uploads # Network utilities "netifaces>=0.11.0", # QR code generation "qrcode>=7.4.2", # Desktop GUI "PySide6>=6.6.0", # Relay client "aiohttp>=3.9.0", ] [project.optional-dependencies] dev = [ "pytest>=7.4.0", "black>=23.0.0", "ruff>=0.1.0", "pyinstaller>=6.0.0", ] [project.scripts] macropad-server = "main:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["gui"] [dependency-groups] dev = [ "pyinstaller>=6.0.0", ] [tool.ruff] line-length = 100 target-version = "py311" [tool.black] line-length = 100 target-version = ["py311"]