Metadata-Version: 2.4
Name: toolrouter
Version: 0.1.0
Summary: Python client for the ToolRouter API
Home-page: https://toolrouter.ai
Author: ToolRouter
Author-email: admin@toolrouter.ai
Project-URL: Bug Tracker, https://github.com/toolrouter/toolrouter-python/issues
Project-URL: Documentation, https://docs.toolrouter.ai
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.25.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0.0; extra == "dev"
Requires-Dist: black>=21.5b2; extra == "dev"
Requires-Dist: isort>=5.9.1; extra == "dev"
Requires-Dist: flake8>=3.9.2; extra == "dev"
Requires-Dist: twine>=3.4.1; extra == "dev"
Requires-Dist: build>=0.7.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# ToolRouter Python SDK

A Python client for the [ToolRouter](https://toolrouter.ai) API.

## Installation

```bash
pip install toolrouter
```

## Usage

### Option 1: Using the ToolRouter class

```python
from toolrouter import ToolRouter

# Initialize the client
router = ToolRouter(
    client_id="your-client-id",
    api_key="your-api-key",
    # Optional: base_url="https://api.toolrouter.ai/s"  # Default value shown
)

# List available tools
tools = router.list_tools(schema="openai")  # schema is optional, defaults to "openai"

# Call a tool
result = router.call_tool(
    tool_name="example_tool",
    tool_input={
        "param1": "value1",
        "param2": "value2"
    }
)
```

### Option 2: Using standalone functions

```python
from toolrouter import setup_default_router, list_tools, call_tool

# Setup the default router (do this once at the start of your application)
setup_default_router(
    client_id="your-client-id",
    api_key="your-api-key",
    # Optional: base_url="https://api.toolrouter.ai/s"  # Default value shown
)

# List available tools
tools = list_tools(schema="openai")  # schema is optional, defaults to "openai"

# Call a tool
result = call_tool(
    tool_name="example_tool",
    tool_input={
        "param1": "value1",
        "param2": "value2"
    }
)
```

## Development

### Setting up for development

```bash
# Clone the repository
git clone https://github.com/toolrouter/toolrouter-python.git
cd toolrouter-python

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"
```

### Publishing to PyPI

```bash
# Build the package
python -m pip install --upgrade build
python -m build

# Upload to PyPI
python -m pip install --upgrade twine
python -m twine upload dist/*
```

## License

MIT 
