[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "hunch-sdk" version = "0.7.3" description = "Drive your Mac focus-free over MCP: OS APIs, AppleScript, CDP, and Accessibility." readme = "README.md" license = "Apache-2.0" license-files = ["LICENSE"] requires-python = ">=3.11" authors = [{ name = "Prithvi Seran", email = "prithviseran0@gmail.com" }] keywords = ["mcp", "macos", "automation", "accessibility", "computer-use", "agent"] classifiers = [ "Development Status :: 4 - Beta", "Environment :: MacOS X", "Intended Audience :: Developers", "Operating System :: MacOS", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries", ] dependencies = [ "mcp>=1.2,<2", "jsonschema>=4.20", "websocket-client>=1.6", "pyobjc-framework-Cocoa>=10.0", "pyobjc-framework-ApplicationServices>=10.0", "pyobjc-framework-Quartz>=10.0", "pyobjc-framework-ScreenCaptureKit>=10.0", "pyobjc-framework-CoreMedia>=10.0", ] [project.optional-dependencies] subscription = ["claude-agent-sdk>=0.2"] # the 'claude' provider (Claude sign-in) codex = ["openai-codex>=0.144"] # the 'codex' provider (OpenAI Codex; SDK is beta) agent = ["claude-agent-sdk>=0.2", "openai-codex>=0.144"] # both providers [tool.hatch.build.targets.wheel] packages = ["src/hunch"] [tool.hatch.build.targets.sdist] # ship only the package + metadata; keep bench/, site/, etc. out of the sdist include = ["src/hunch", "README.md", "LICENSE"] [project.scripts] hunch = "hunch.cli:main" [project.urls] Homepage = "https://www.tryhunch.ca" Repository = "https://github.com/PrithviSeran/hunch-mcp" Issues = "https://github.com/PrithviSeran/hunch-mcp/issues"