kavita_client.client

Module Contents

Classes

AuthenticatedClient

A Client which has been authenticated for use on secured endpoints

Client

A class for keeping track of data related to the API

API

class kavita_client.client.AuthenticatedClient

A Client which has been authenticated for use on secured endpoints

The following are accepted as keyword arguments and will be used to construct httpx Clients internally:

base_url: The base URL for the API, all requests are made to a relative path to this URL

cookies: A dictionary of cookies to be sent with every request

headers: A dictionary of headers to be sent with every request

timeout: The maximum amount of a time a request can take. API functions will raise httpx.TimeoutException if this is exceeded.

verify_ssl: Whether or not to verify the SSL certificate of the API server. This should be True in production, but can be set to False for testing purposes.

follow_redirects: Whether or not to follow redirects. Default value is False.

httpx_args: A dictionary of additional arguments to be passed to the httpx.Client and httpx.AsyncClient constructor.

Attributes:
raise_on_unexpected_status: Whether or not to raise an errors.UnexpectedStatus if the API returns a

status code that was not documented in the source OpenAPI document. Can also be provided as a keyword argument to the constructor.

token: The token to use for authentication prefix: The prefix to use for the Authorization header auth_header_name: The name of the Authorization header

async __aenter__() → Self

Enter a context manager for underlying httpx.AsyncClient—you cannot enter twice (see httpx docs)

async __aexit__(*args: Any, **kwargs: Any) → None

Exit a context manager for underlying httpx.AsyncClient (see httpx docs)

__enter__() → Self

Enter a context manager for self.client—you cannot enter twice (see httpx docs)

__exit__(*args: Any, **kwargs: Any) → None

Exit a context manager for internal httpx.Client (see httpx docs)

auth_header_name: str = 'Authorization'
get_async_httpx_client() → httpx.AsyncClient

Get the underlying httpx.AsyncClient, constructing a new one if not previously set

get_httpx_client() → httpx.Client

Get the underlying httpx.Client, constructing a new one if not previously set

prefix: str = 'Bearer'
raise_on_unexpected_status: bool = 'field(...)'
set_async_httpx_client(async_client: httpx.AsyncClient) → Self

Manually set the underlying httpx.AsyncClient

NOTE: This will override any other settings on the client, including cookies, headers, and timeout.

set_httpx_client(client: httpx.Client) → Self

Manually set the underlying httpx.Client

NOTE: This will override any other settings on the client, including cookies, headers, and timeout.

token: str = None
with_cookies(cookies: dict[str, str]) → kavita_client.client.AuthenticatedClient

Get a new client matching this one with additional cookies

with_headers(headers: dict[str, str]) → kavita_client.client.AuthenticatedClient

Get a new client matching this one with additional headers

with_timeout(timeout: httpx.Timeout) → kavita_client.client.AuthenticatedClient

Get a new client matching this one with a new timeout configuration

class kavita_client.client.Client

A class for keeping track of data related to the API

The following are accepted as keyword arguments and will be used to construct httpx Clients internally:

base_url: The base URL for the API, all requests are made to a relative path to this URL

cookies: A dictionary of cookies to be sent with every request

headers: A dictionary of headers to be sent with every request

timeout: The maximum amount of a time a request can take. API functions will raise httpx.TimeoutException if this is exceeded.

verify_ssl: Whether or not to verify the SSL certificate of the API server. This should be True in production, but can be set to False for testing purposes.

follow_redirects: Whether or not to follow redirects. Default value is False.

httpx_args: A dictionary of additional arguments to be passed to the httpx.Client and httpx.AsyncClient constructor.

Attributes:
raise_on_unexpected_status: Whether or not to raise an errors.UnexpectedStatus if the API returns a

status code that was not documented in the source OpenAPI document. Can also be provided as a keyword argument to the constructor.

async __aenter__() → Self

Enter a context manager for underlying httpx.AsyncClient—you cannot enter twice (see httpx docs)

async __aexit__(*args: Any, **kwargs: Any) → None

Exit a context manager for underlying httpx.AsyncClient (see httpx docs)

__enter__() → Self

Enter a context manager for self.client—you cannot enter twice (see httpx docs)

__exit__(*args: Any, **kwargs: Any) → None

Exit a context manager for internal httpx.Client (see httpx docs)

get_async_httpx_client() → httpx.AsyncClient

Get the underlying httpx.AsyncClient, constructing a new one if not previously set

get_httpx_client() → httpx.Client

Get the underlying httpx.Client, constructing a new one if not previously set

raise_on_unexpected_status: bool = 'field(...)'
set_async_httpx_client(async_client: httpx.AsyncClient) → Self

Manually set the underlying httpx.AsyncClient

NOTE: This will override any other settings on the client, including cookies, headers, and timeout.

set_httpx_client(client: httpx.Client) → Self

Manually set the underlying httpx.Client

NOTE: This will override any other settings on the client, including cookies, headers, and timeout.

with_cookies(cookies: dict[str, str]) → kavita_client.client.Client

Get a new client matching this one with additional cookies

with_headers(headers: dict[str, str]) → kavita_client.client.Client

Get a new client matching this one with additional headers

with_timeout(timeout: httpx.Timeout) → kavita_client.client.Client

Get a new client matching this one with a new timeout configuration