[project] name = "goose-ai" description = "a programming agent that runs on your machine" version = "0.9.11" readme = "README.md" requires-python = ">=3.10" dependencies = [ "ai-exchange==0.9.9", "attrs>=23.2.0", "rich>=13.7.1", "ruamel-yaml>=0.18.6", "click>=8.1.7", "prompt-toolkit>=3.0.47", "keyring>=25.4.1", "langfuse>=2.38.2", "selenium>=4.0.0", "beautifulsoup4>=4.9.3", "pyshadow<=0.0.5", "google-workspace>=0.20.3", ] author = [{ name = "Block", email = "ai-oss-tools@block.xyz" }] packages = [{ include = "goose", from = "src" }] [tool.hatch.build.targets.wheel] packages = ["src/goose"] [project.entry-points."metadata.plugins"] goose-ai = "goose.module_name" [project.entry-points."goose.toolkit"] developer = "goose.toolkit.developer:Developer" github = "goose.toolkit.github:Github" jira = "goose.toolkit.jira:Jira" screen = "goose.toolkit.screen:Screen" reasoner = "goose.toolkit.reasoner:Reasoner" repo_context = "goose.toolkit.repo_context.repo_context:RepoContext" synopsis = "goose.synopsis.toolkit:SynopsisDeveloper" browser = "goose.toolkit.web_browser:BrowserToolkit" memory = "goose.toolkit.memory:Memory" google_workspace = "goose.toolkit.google_workspace:GoogleWorkspace" [project.entry-points."goose.profile"] default = "goose.profile:default_profile" [project.entry-points."goose.command"] file = "goose.command.file:FileCommand" [project.entry-points."goose.cli.group"] goose = "goose.cli.main:goose_cli" [project.entry-points."goose.cli.group_option"] [project.entry-points."exchange.moderator"] synopsis = "goose.synopsis.moderator:Synopsis" [project.scripts] goose = "goose.cli.main:cli" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.uv] dev-dependencies = [ "codecov>=2.1.13", "mkdocs-callouts>=1.14.0", "mkdocs-gen-files>=0.5.0", "mkdocs-git-authors-plugin>=0.9.0", "mkdocs-git-committers-plugin>=0.2.3", "mkdocs-git-revision-date-localized-plugin>=1.2.9", "mkdocs-glightbox>=0.4.0", "mkdocs-include-markdown-plugin>=6.2.2", "mkdocs-literate-nav>=0.6.1", "mkdocs-material>=9.5.34", "mkdocs-redirects>=1.2.1", "mkdocs-section-index>=0.3.9", "mkdocstrings-python>=1.11.1", "mkdocstrings>=0.26.1", "pytest-mock>=3.14.0", "pytest>=8.3.2", "tomli>=2.0.1", ] [tool.uv.sources] ai-exchange = { workspace = true } [tool.uv.workspace] members = ["packages/*"] [project.optional-dependencies] google_workspace = [ "google-auth-oauthlib>=1.0.0", "google-auth-httplib2>=0.1.0", "google-api-python-client>=2.86.0", ]