Skip to main content
The woodwide package is the official Python client for Wood Wide. It provides typed methods, Pydantic responses, and IDE autocomplete for training and inference workflows. For your first upload → train → infer workflow, use the Python (SDK) tab in the API quickstart. This page covers installation, configuration, and SDK-specific features.

PyPI

Install, release history, and package README.

API quickstart

First workflow with an SDK tab alongside curl and JavaScript.
These examples target woodwide==0.9.0. Use the PyPI package README for the complete client guide, or inspect methods in Python with help(client.models.train).

Install

Requires Python 3.9+.
Pin a version in production. Check PyPI for the latest release.

Configure authentication

The SDK, HTTP examples, and CLI all use WOODWIDE_API_KEY and WOODWIDE_BASE_URL. The base URL defaults to https://api.woodwide.ai.
Verify authentication:
Never commit API keys to source control.

Async client

Use AsyncWoodWide with await on each call:
Optional aiohttp backend: pip install woodwide[aiohttp]

Errors and retries

The SDK raises typed exceptions (AuthenticationError, RateLimitError, etc.) and retries connection errors and many 5xx responses by default.
See the PyPI package README for timeouts, logging, and HTTP configuration.

Model types

All model types use the same methods. Select the task with model_type when training: Use client.models.infer(model_id, file=..., output_type="json") for synchronous file inference. Use client.models.infer_batch(model_id, dataset_id=...) for asynchronous inference on an existing dataset, then poll and retrieve the result through client.jobs. See Capabilities for task-specific examples with SDK tabs.

Next steps

API quickstart

First workflow with an SDK tab alongside curl and JavaScript.

CLI

Script the same workflow from the shell.