weaviate.client

Client class definition.

class weaviate.client.Client(url: str | None = None, auth_client_secret: AuthBearerToken | AuthClientPassword | AuthClientCredentials | AuthApiKey | None = None, timeout_config: Tuple[int | float, int | float] | int | float = (10, 60), proxies: dict | str | None = None, trust_env: bool = False, additional_headers: dict | None = None, startup_period: int | None = 5, embedded_options: EmbeddedOptions | None = None, additional_config: Config | None = None)

Bases: object

A python native Weaviate Client class that encapsulates Weaviate functionalities in one object. A Client instance creates all the needed objects to interact with Weaviate, and connects all of them to the same Weaviate instance. See below the Attributes of the Client instance. For the per attribute functionality see that attribute’s documentation.

backup

A Backup object instance connected to the same Weaviate instance as the Client.

Type:

weaviate.backup.Backup

batch

A Batch object instance connected to the same Weaviate instance as the Client.

Type:

weaviate.batch.Batch

classification

A Classification object instance connected to the same Weaviate instance as the Client.

Type:

weaviate.classification.Classification

cluster

A Cluster object instance connected to the same Weaviate instance as the Client.

Type:

weaviate.cluster.Cluster

contextionary

A Contextionary object instance connected to the same Weaviate instance as the Client.

Type:

weaviate.contextionary.Contextionary

data_object

A DataObject object instance connected to the same Weaviate instance as the Client.

Type:

weaviate.data.DataObject

schema

A Schema object instance connected to the same Weaviate instance as the Client.

Type:

weaviate.schema.Schema

query

A Query object instance connected to the same Weaviate instance as the Client.

Type:

weaviate.gql.Query

Initialize a Client class instance.

Parameters:
  • url (str) – The URL to the weaviate instance.

  • auth_client_secret (weaviate.AuthCredentials or None, optional) –

  • fmt (#) – Authenticate to weaviate by using one of the given authentication modes: - weaviate.auth.AuthBearerToken to use existing access and (optionally, but recommended) refresh tokens - weaviate.auth.AuthClientPassword to use username and password for oidc Resource Owner Password flow - weaviate.auth.AuthClientCredentials to use a client secret for oidc client credential flow

  • fmt

  • timeout_config (tuple(Real, Real) or Real, optional) – Set the timeout configuration for all requests to the Weaviate server. It can be a real number or, a tuple of two real numbers: (connect timeout, read timeout). If only one real number is passed then both connect and read timeout will be set to that value, by default (2, 20).

  • proxies (dict, str or None, optional) – Proxies to be used for requests. Are used by both ‘requests’ and ‘aiohttp’. Can be passed as a dict (‘requests’ format: https://docs.python-requests.org/en/stable/user/advanced/#proxies), str (HTTP/HTTPS protocols are going to use this proxy) or None. Default None.

  • trust_env (bool, optional) – Whether to read proxies from the ENV variables: (HTTP_PROXY or http_proxy, HTTPS_PROXY or https_proxy). Default False. NOTE: ‘proxies’ has priority over ‘trust_env’, i.e. if ‘proxies’ is NOT None, ‘trust_env’ is ignored.

  • additional_headers (dict or None) –

    Additional headers to include in the requests. Can be used to set OpenAI/HuggingFace keys. OpenAI/HuggingFace key looks like this:

    {“X-OpenAI-Api-Key”: “<THE-KEY>”}, {“X-HuggingFace-Api-Key”: “<THE-KEY>”}

    by default None

  • startup_period (int or None) – How long the client will wait for Weaviate to start before raising a RequestsConnectionError. If None, the client won’t wait at all. Default timeout is 5s.

  • embedded_options (weaviate.embedded.EmbeddedOptions or None, optional) – Create an embedded Weaviate cluster inside the client - You can pass weaviate.embedded.EmbeddedOptions() with default values - Take a look at the attributes of weaviate.embedded.EmbeddedOptions to see what is configurable

  • additional_config (weaviate.Config, optional) – Additional and advanced configuration options for weaviate.

Examples

Without Auth.

>>> client = Client(
...     url = 'http://localhost:8080'
... )
>>> client = Client(
...     url = 'http://localhost:8080',
...     timeout_config = (5, 15)
... )

With Auth.

>>> my_credentials = weaviate.AuthClientPassword(USER_NAME, MY_PASSWORD)
>>> client = Client(
...     url = 'http://localhost:8080',
...     auth_client_secret = my_credentials
... )

Creating a client with an embedded database:

>>> from weaviate import EmbeddedOptions
>>> client = Client(embedded_options=EmbeddedOptions())

Creating a client with additional configurations:

>>> from weaviate import Config
>>> client = Client(additional_config=Config())
Raises:

TypeError – If arguments are of a wrong data type.

get_meta() dict

Get the meta endpoint description of weaviate.

Returns:

The dict describing the weaviate configuration.

Return type:

dict

Raises:

weaviate.UnexpectedStatusCodeException – If weaviate reports a none OK status.

get_open_id_configuration() Dict[str, Any] | None

Get the openid-configuration.

Returns:

The configuration or None if not configured.

Return type:

dict

Raises:

weaviate.UnexpectedStatusCodeException – If weaviate reports a none OK status.

is_live() bool

Ping Weaviate’s live state.

Returns:

True if weaviate is live and should not be killed, False otherwise.

Return type:

bool

is_ready() bool

Ping Weaviate’s ready state

Returns:

True if Weaviate is ready to accept requests, False otherwise.

Return type:

bool

property timeout_config: Tuple[int | float, int | float]

Getter/setter for timeout_config.

Parameters:

timeout_config (tuple(float, float) or float, optional) –

For Getter only: Set the timeout configuration for all requests to the Weaviate server. It can be a real number or, a tuple of two real numbers:

(connect timeout, read timeout).

If only one real number is passed then both connect and read timeout will be set to that value.

Returns:

For Getter only: Requests Timeout configuration.

Return type:

Tuple[float, float]