Skip to content

Python SDK ​

Integrate webwhen into your Python applications.

Naming during the transition

The package on PyPI is still torale and the client class is still ToraleClient. The rename to webwhen is a later phase — the code samples below use the current shipping names.

Installation ​

bash
pip install torale

Get an API key ​

  1. Log in to webwhen.ai
  2. Go to Settings → API Keys
  3. Generate a new key
  4. Copy and save it securely

Create your first watch ​

python
from torale import ToraleClient

client = ToraleClient(api_key="sk_...")

task = client.tasks.create(
    search_query="When is the iPhone 17 being released?",
    condition_description="Apple has announced a specific release date",
    schedule="0 9 * * *"
)

print(f"Created watch: {task.id}")

Check results ​

python
# Execution history
executions = client.tasks.get_executions(task.id)

for execution in executions:
    if execution.notification:
        print(f"Answer: {execution.result['answer']}")
        print(f"Sources: {execution.grounding_sources}")

Environment variables ​

Store your API key in an environment variable:

bash
export TORALE_API_KEY=sk_...
python
from torale import ToraleClient

# Client reads the key from the environment automatically
client = ToraleClient()

Async client ​

For async applications:

python
from torale import AsyncToraleClient
import asyncio

async def main():
    client = AsyncToraleClient(api_key="sk_...")

    task = await client.tasks.create(
        search_query="When is the iPhone 17 being released?",
        condition_description="Apple has announced a specific release date",
        schedule="0 9 * * *"
    )

    print(f"Created: {task.id}")

asyncio.run(main())

Next steps ​

Released under the MIT License.