Skip to main content

PyGnomeSearchClient

PyGnomeSearchClient is a Python package for interacting with Gnome search providers outside the Gnome Shell environment. This package is targeted mostly at users of compositors with custom widgets, especially Ignis since that's what I currently use.

Rationale

Gnome search providers provide a simple-to-use API for searching various apps on the system but is currently limited to use on Gnome Shell. Even without Gnome Shell installed or running, most apps that provide search providers still register their search provider interfaces on DBus and still place their search configuration files in deterministic places, meaning that a different app could interact with them. This package aims to create a wrapper around the DBus calls used to interact with the providers.

Gnome search providers are fairly widely used. On my system, the installed search providers are:

Any of these, in isolation, could be easily coded into a desktop UI framework, but maintaining dozens of different search providers becomes taxing. Additionally, adding a new provider does not mean changing your dotfiles at all. Rolling your own search provider is also fairly simple, requiring only that a DBus service be registered and a config file be placed in some location.

Usage

The module provides a number of classes. Provider is the base class for interacting with a single search provider, and provides the same functions as the Gnome search provider interface. The Client class collects the providers and interacts with all of them simultaneously. The ClientStateful wraps the Client and maintains state information between searches so that the program doesn't have to manage previous search results itself.

Documentation is generated using Sphinx available here and there are a number of examples of usage here.

Documentation

Gnome search providers place an ini file in one of a number of locations, generally /usr/share/gnome-shell/search-providers if installed globally. The file has the structure:

[Shell Search Provider]
DesktopId=xxx.desktop
BusName=xxx.SearchProvider2 (generally)
ObjectPath=/xx/xxx/SearchProvider
Version=2

The DBus interface is described by Gnome here, but the gist of it is that, under the bus name above, providers register methods GetInitialResultSet, GetSubsearchResultSet, GetResultMetas, ActivateResult, and LaunchSearch. This package provides wrappers for these methods and collects search providers while optionally maintaining state information.

Contributing

Please open an issue for any bugs or feature requests. If you know Python and PyGObject, feel free to open a PR.

Metadata

Release files for gnomesearchclient 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gnomesearchclient 0.1.3
File Size Uploaded
gnomesearchclient-0.1.3.tar.gz 21.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gnomesearchclient 0.1.3
File Interpreter ABI Platform
gnomesearchclient-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 42.5 kB

Release files / gnomesearchclient-0.1.3.tar.gz

Download URL gnomesearchclient-0.1.3.tar.gz
Size 21.6 kB
Tags Source
SHA-256 checksum
How to use checksums
925b51c9130f550dff107abb7f4da9b0f8c490935e297d44d2b21d4570fda05d
BLAKE2b-256 checksum
How to use checksums
bde515f3fd205ab9fcd787bf988dfe5aa6433cfa50e96c389c3df669c9cc47b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 29, 2025.

Transparency log

Release files / gnomesearchclient-0.1.3-py3-none-any.whl

Download URL gnomesearchclient-0.1.3-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
35a80d381bdacc97cd7f2efd70eab5151ed27e2282ec98a9ae8d339378b56c8e
BLAKE2b-256 checksum
How to use checksums
66ea1a29953ea464c23e33582b66df1ba31c734d767ea207e085dcf8e71bc51f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 29, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page