Skip to main content

GL Connectors Tool SDK

Framework-agnostic tool SDK for building tools that work with GLLM Core, LangChain, and Google ADK.

Installation

(Alternative to uv add would be pip install)

# Core SDK only
uv add gl-connectors-tools

# With GLLM Core support
uv add gl-connectors-tools[gllm]

# With LangChain support
uv add gl-connectors-tools[langchain]

# With Google ADK Support
uv add gl-connectors-tools[adk]

# With all frameworks
uv add gl-connectors-tools[all]

Quick Start

Creating a Tool

from pydantic import BaseModel, Field
from gl_connectors_tools.tools import BaseTool


class SearchInput(BaseModel):
    query: str = Field(description="Search query")
    max_results: int = Field(default=10, description="Maximum results to return")


class SearchTool(BaseTool):
    name = "search"
    description = "Searches for information"
    input_schema = SearchInput

    def run(self, query: str, max_results: int = 10) -> str:
        # Your implementation here
        return f"Found {max_results} results for: {query}"

Using with Different Frameworks

from gl_connectors_tools.adapters import (
    to_gllm_tool,      # GLLM Core
    to_langchain_tool,  # LangChain
    to_adk_function,    # Google ADK
)

tool = SearchTool()

# Convert to GLLM Core Tool
gllm_tool = to_gllm_tool(tool)

# Convert to LangChain StructuredTool
lc_tool = to_langchain_tool(tool)

# Convert to ADK FunctionDeclaration
func_decl, callable_fn = to_adk_function(tool)

Migrating from LangChain (Zero-Change!)

Just change the import. The SDK accepts LangChain naming conventions out of the box:

- from langchain_core.tools import BaseTool
+ from gl_connectors_tools.tools import BaseTool

  class MyTool(BaseTool):
      name = "my_tool"
      description = "..."
      args_schema = MyInput      # ✅ Works as-is!

      def _run(self, **kwargs):  # ✅ Works as-is!
          # implementation unchanged

The SDK supports both naming conventions:

LangChain Style SDK Style
args_schema input_schema
_run() run()
_arun() arun()

Alternative: Wrapper for Existing Instances

If you have existing LangChain tool instances you can't modify:

from gl_connectors_tools.adapters.langchain import LangChainToolWrapper

# Existing LangChain tool instance
from my_app.tools import MyLangChainTool

# Wrap it
sdk_tool = LangChainToolWrapper(MyLangChainTool())

# Now use it with any adapter
gllm_tool = to_gllm_tool(sdk_tool)

Predefined Tools

from gl_connectors_tools.predefined import TimeTool

tool = TimeTool()
result = tool.run(timezone="Asia/Jakarta")

Architecture

┌─────────────────────────────────────────────────┐
│               Your SDK Tools                     │
│         (inherit from BaseTool)                  │
└─────────────────────────────────────────────────┘
                      │
        ┌─────────────┼─────────────┐
        ▼             ▼             ▼
   ┌─────────┐  ┌─────────┐  ┌─────────┐
   │  GLLM   │  │LangChain│  │   ADK   │
   │ Adapter │  │ Adapter │  │ Adapter │
   └─────────┘  └─────────┘  └─────────┘

The SDK owns the tool interface. Frameworks become output adapters, not the source of truth.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gl_connectors_tools_binary-0.0.10-cp313-cp313-manylinux_2_31_x86_64.whl (761.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

gl_connectors_tools_binary-0.0.10-cp313-cp313-macosx_13_0_arm64.whl (496.3 kB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

gl_connectors_tools_binary-0.0.10-cp312-cp312-manylinux_2_31_x86_64.whl (762.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

gl_connectors_tools_binary-0.0.10-cp311-cp311-manylinux_2_31_x86_64.whl (696.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

gl_connectors_tools_binary-0.0.10-cp311-cp311-macosx_13_0_arm64.whl (486.0 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

File details

Details for the file gl_connectors_tools_binary-0.0.10-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.10-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 54df13a05b77481cb60e73282a3f79ba2ebd31f8b95c977d3f634175896fb16b
MD5 303d31ed0e05624d80b392148cb9165c
BLAKE2b-256 6033144fff6f0e051f383590702fa8f021cdce5aefe7a3e3117048efc6038786

See more details on using hashes here.

File details

Details for the file gl_connectors_tools_binary-0.0.10-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.10-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b79f81382158faa894966b2cee1fe9ec64d0547b73f2f46fe6274621b7ada6aa
MD5 9c44426ff081296bd62be36b3c85a94e
BLAKE2b-256 c3d40619414852f0d8d552d5d580c8d339208fae378bdd40c863f69ed02b0d57

See more details on using hashes here.

Provenance

The following attestation bundles were made for gl_connectors_tools_binary-0.0.10-cp313-cp313-macosx_13_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-connectors-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gl_connectors_tools_binary-0.0.10-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.10-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 b56c0e373ac0349a40919400d6c985e9ea7c3dc135da6ce13c15d514c04bf295
MD5 38ca4efa098122644035e3378728abe2
BLAKE2b-256 d03d01d235c8c56809d8886af0e200fec35e05f3b7ae9b0b53ce947a65b0dee8

See more details on using hashes here.

File details

Details for the file gl_connectors_tools_binary-0.0.10-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.10-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 0d435cc5c9ea318bc5ffeb4eac7bea2fdfa12fb25790353e50101c5f8e457407
MD5 3c78c4e2eb5a7623bfc06eed9511725f
BLAKE2b-256 d62f157f7dcb25151c2b736b5dea7d3ccfd534d7b68a49267a7dabdffbbece01

See more details on using hashes here.

File details

Details for the file gl_connectors_tools_binary-0.0.10-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.10-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7577d52cba6cd74c39991db430f6a15436ce7c0a36246cf712c417038f4aae93
MD5 668ea39b5dd3fa0e25679af568b5f171
BLAKE2b-256 4806ae9c2344f051fd6623ea8c13a3efcb4c81fb9133b67daa3d9f67c3a343c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for gl_connectors_tools_binary-0.0.10-cp311-cp311-macosx_13_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/gl-connectors-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page