Plugin API Reference
This file contains important references to the latz API, especially ones relevant for writing plugins.
        ImageSearchResult
  
        Bases: NamedTuple
Represents an individual search result object. It holds all relevant data for a single search result including the image size and URL.
Source code in latz/image.py
          6 7 8 9 10 11 12 13 14  |  | 
        AppHookSpecs
  Holds all hookspecs for this application
Source code in latz/plugins/hookspec.py
          86 87 88 89 90 91 92 93 94 95 96 97  |  | 
search_backend()
  Hookspec for the search backend hook.
Check out the creating plugins guide for more information on using this plugin hook.
Source code in latz/plugins/hookspec.py
        89 90 91 92 93 94 95 96 97  |  | 
        SearchBackendHook
  
        Bases: NamedTuple
Holds the metadata and callable for using the image search hook.
Source code in latz/plugins/hookspec.py
          16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83  |  | 
config_fields: BaseModel
  
  
      class-attribute
  
  Pydantic model that defines all the settings that this plugin needs.
Example:
from pydantic import BaseModel, Field
PLUGIN_NAME = "custom"
class CustomConfigFields(BaseModel):
    access_key: str = Field(description="Access key for the API")
@hookimpl
def image_api():
    return ImageAPIPlugin(
        name=PLUGIN_NAME,
        config_fields=CustomConfigFields(access_key=""),
        ...
    )
name: str
  
  
      class-attribute
  
  Namespace for the image API plugin; this is the value users will use in their config files to specify this particular plugin.
Example:
from latz.plugins import SearchBackendHook
@hookimpl
def search_backend():
    return SearchBackendHook(
        name="custom",
        ...
    )
This would later be referred to as custom in the settings file:
{
  "search_backends": ["custom"],
  "search_backend_settings": {
    "custom": {
      "param_one": "value"
    }
  }
}
search: Callable[[httpx.AsyncClient, Any, str], Awaitable[tuple[ImageSearchResult, ...]]]
  
  
      class-attribute
  
  Callable that implements the search hook.