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.11-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.11-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.11-cp312-cp312-macosx_13_0_arm64.whl (494.7 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

gl_connectors_tools_binary-0.0.11-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.11-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.11-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.11-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e6dab411686846da72e41bdebb123197ffbeaa47fbc041bbe19d0426ac64bb8e
MD5 3e4f3ab2cd7716a60133c59ea1863163
BLAKE2b-256 eb7ffeaa6bb336fad6f2dc6c8d19f970d60f7343fbabe1e843adf9fb5fa589f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.11-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 129816812b1d76739ba64425f49532dc5cec7c975fadd8a4aa8327310bd9bde3
MD5 b3dda63ee7c16d86e4cf296fb8f578bf
BLAKE2b-256 b4175964a15c8b2c0e9dc83f2a58834e9d9334d053404c54ff1b23a30991374e

See more details on using hashes here.

File details

Details for the file gl_connectors_tools_binary-0.0.11-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.11-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 13636e8163a8a3623b2d21c058b4bdd85a6949ec803f8b533e5002f4958eba1b
MD5 f8af1d149a6968f2dcba91b8a4985b2d
BLAKE2b-256 ed2894553ecc8e224adf57fba214851fa59ee0fb6e47e12208754da102163d78

See more details on using hashes here.

Provenance

The following attestation bundles were made for gl_connectors_tools_binary-0.0.11-cp312-cp312-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.11-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.11-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 96e5901b76f67a66459d76c3815ebedb34dffeefa17fe9120b08f2cf9cea0932
MD5 5bd9a72a006e16cdac7a8ccd10fbb93a
BLAKE2b-256 c698fd6aa12c0a3880248fd2d3b4530c57e335c32859ad7456486c5580b7766c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gl_connectors_tools_binary-0.0.11-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 0411189f9a020252d8c172aaa339745d82a9bbd4fbb9e0b3d06c3d22ada10e4b
MD5 077f01fc382db975b4f127db4f297292
BLAKE2b-256 964d751ffdb0df8cd537f3f01c9dadce21a1b3536c405a72ecfd059e5e4c11a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for gl_connectors_tools_binary-0.0.11-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