Add Attio wellknown auth class (#769)

Add Attio to the wellknown OAuth2 provider classes so toolkits can use
Attio(scopes=[...]) instead of OAuth2(id=..., scopes=[...]).

---------

Co-authored-by: Eric Gustin <eric@arcade.dev>
This commit is contained in:
emmithood 2026-02-12 11:05:43 -08:00 committed by GitHub
parent 7472b18106
commit b928f52445
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 18 additions and 5 deletions

View file

@ -51,6 +51,15 @@ class Atlassian(OAuth2):
super().__init__(id=id, scopes=scopes) super().__init__(id=id, scopes=scopes)
class Attio(OAuth2):
"""Marks a tool as requiring Attio authorization."""
provider_id: str = "attio"
def __init__(self, *, id: Optional[str] = None, scopes: Optional[list[str]] = None): # noqa: A002
super().__init__(id=id, scopes=scopes)
class ClickUp(OAuth2): class ClickUp(OAuth2):
"""Marks a tool as requiring ClickUp authorization.""" """Marks a tool as requiring ClickUp authorization."""

View file

@ -1,6 +1,6 @@
[project] [project]
name = "arcade-core" name = "arcade-core"
version = "4.2.3" version = "4.3.0"
description = "Arcade Core - Core library for Arcade platform" description = "Arcade Core - Core library for Arcade platform"
readme = "README.md" readme = "README.md"
license = { text = "MIT" } license = { text = "MIT" }

View file

@ -1,6 +1,7 @@
from arcade_core.auth import ( from arcade_core.auth import (
Asana, Asana,
Atlassian, Atlassian,
Attio,
ClickUp, ClickUp,
Discord, Discord,
Dropbox, Dropbox,
@ -26,6 +27,7 @@ from arcade_core.auth import (
__all__ = [ __all__ = [
"Asana", "Asana",
"Atlassian", "Atlassian",
"Attio",
"ClickUp", "ClickUp",
"Discord", "Discord",
"Dropbox", "Dropbox",

View file

@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project] [project]
name = "arcade-mcp-server" name = "arcade-mcp-server"
version = "1.15.2" version = "1.16.0"
description = "Model Context Protocol (MCP) server framework for Arcade.dev" description = "Model Context Protocol (MCP) server framework for Arcade.dev"
readme = "README.md" readme = "README.md"
authors = [{ name = "Arcade.dev" }] authors = [{ name = "Arcade.dev" }]
@ -21,7 +21,7 @@ classifiers = [
] ]
requires-python = ">=3.10" requires-python = ">=3.10"
dependencies = [ dependencies = [
"arcade-core>=4.2.2,<5.0.0", "arcade-core>=4.3.0,<5.0.0",
"arcade-serve>=3.2.0,<4.0.0", "arcade-serve>=3.2.0,<4.0.0",
"arcade-tdk>=3.4.0,<4.0.0", "arcade-tdk>=3.4.0,<4.0.0",
"arcadepy>=1.5.0", "arcadepy>=1.5.0",

View file

@ -1,6 +1,7 @@
from arcade_core.auth import ( from arcade_core.auth import (
Asana, Asana,
Atlassian, Atlassian,
Attio,
ClickUp, ClickUp,
Discord, Discord,
Dropbox, Dropbox,
@ -26,6 +27,7 @@ from arcade_core.auth import (
__all__ = [ __all__ = [
"Asana", "Asana",
"Atlassian", "Atlassian",
"Attio",
"ClickUp", "ClickUp",
"Discord", "Discord",
"Dropbox", "Dropbox",

View file

@ -1,6 +1,6 @@
[project] [project]
name = "arcade-tdk" name = "arcade-tdk"
version = "3.4.0" version = "3.5.0"
description = "Arcade TDK - Toolkit Development Kit for building Arcade tools" description = "Arcade TDK - Toolkit Development Kit for building Arcade tools"
readme = "README.md" readme = "README.md"
license = { text = "MIT" } license = { text = "MIT" }
@ -16,7 +16,7 @@ classifiers = [
"Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.13",
] ]
requires-python = ">=3.10" requires-python = ">=3.10"
dependencies = ["arcade-core>=4.1.0,<5.0.0", "pydantic>=2.7.0"] dependencies = ["arcade-core>=4.3.0,<5.0.0", "pydantic>=2.7.0"]
[project.optional-dependencies] [project.optional-dependencies]
dev = [ dev = [