Skip to content

StashClient

The main client interface for interacting with Stash's GraphQL API.

StashClient

StashClient(
    conn: dict[str, Any] | None = None,
    verify_ssl: bool = True,
)

Bases: StashClientBase, ConfigClientMixin, FileClientMixin, FilterClientMixin, GalleryClientMixin, GroupClientMixin, ImageClientMixin, JobsClientMixin, MarkerClientMixin, MetadataClientMixin, PackageClientMixin, PerformerClientMixin, PluginClientMixin, SceneClientMixin, ScraperClientMixin, StudioClientMixin, SubscriptionClientMixin, SystemQueryClientMixin, TagClientMixin, VersionClientMixin, NotImplementedClientMixin

Full Stash client combining all functionality.

Initialize client.

Parameters:

Name Type Description Default
conn dict[str, Any] | None

Connection details dictionary with: - Scheme: Protocol (default: "http") - Host: Hostname (default: "localhost") - Port: Port number (default: 9999) - ApiKey: Optional API key - Logger: Optional logger instance

None
verify_ssl bool

Whether to verify SSL certificates

True

Attributes

log instance-attribute

log = (
    get("Logger", client_logger) if conn else client_logger
)

url instance-attribute

url = f'{scheme}://{host}:{port}/graphql'

Functions

initialize async

initialize() -> None

Initialize the client and detect server capabilities.

Calls base class initialize() to set up transport/session, then runs capability detection and rebuilds the fragment store with version-appropriate fields.