Skip to main content

Tests Workflow Status Docs Workflow Status Release Workflow Status pypi PyPI - Python Version GitHub License buymeacoffee

pyFlowLauncher

pyFlowLauncher is an API that allows you to quickly create plugins for Flow Launcher!

Installation

Install via pip:

python -m pip install pyflowlauncher[all]

[!IMPORTANT] Please use the [all] flag in order to support Python versions older then 3.11.

Usage

Basic plugin

A basic plugin using a function as the query method.

from pyflowlauncher import Plugin, Result

plugin = Plugin()


@plugin.on_method
def query(query: str):
    yield Result(
        title="This is a title!",
        subtitle="This is the subtitle!",
        icon="icon.png"
    )


plugin.run()

Methods decorated with @plugin.on_method can yield one or more Result objects, return a list of Result objects, or return a single Result — the framework normalizes all forms into the correct response automatically.

Advanced plugin

A more advanced usage using a Method class as the query method.

from pyflowlauncher import Plugin, Result, Method
from .models.json_rpc import JsonRPCResponse

plugin = Plugin()


class Query(Method):

    def __call__(self, query: str) -> JsonRPCResponse:
        r = Result(
            title="This is a title!",
            subtitle="This is the subtitle!"
        )
        self.add_result(r)
        return self.return_results()

plugin.add_method(Query())
plugin.run()

Context menus

Plugin ships with a built-in context_menu method: put Result objects in a result's context_data and they become that result's context menu — no handler code required.

from pyflowlauncher import Plugin, Result

plugin = Plugin()


@plugin.on_method
def query(query: str):
    yield Result(
        title="This is a title!",
        subtitle="Right-click me for a context menu.",
        context_data=[
            Result(title="This is a context menu item!"),
            Result(title="So is this!"),
        ],
    )


plugin.run()

Menu items are full Result objects, so they can carry actions via add_action() just like query results.

If you need more control (for example, building the menu lazily when it is opened), register your own context_menu — it replaces the built-in one:

@plugin.on_method
def context_menu(context_data):
    yield Result(title=f"Menu for {context_data[0]}")

Metadata

Release files for pyflowlauncher 1.2.0

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

Source distribution (sdist)

Source distribution for pyflowlauncher 1.2.0
File Size Uploaded
pyflowlauncher-1.2.0.tar.gz 19.8 kB Details

Built distribution (wheel)

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

Total release size: 44.5 kB

Release files / pyflowlauncher-1.2.0.tar.gz

Download URL pyflowlauncher-1.2.0.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
fd178b029c0658a59db36669e7d8ecfc3b9e75b318fb637962cf131bcc403a29
BLAKE2b-256 checksum
How to use checksums
a1407884b2535bdea39250ccd59f7e905926ef87b0a209f7d4ec9fa9f2f87c5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 31, 2026.

Transparency log

Release files / pyflowlauncher-1.2.0-py3-none-any.whl

Download URL pyflowlauncher-1.2.0-py3-none-any.whl
Size 24.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
642fbe4a9db768ff523c9262870028973e5c485c0049f172aa1030514f2becc8
BLAKE2b-256 checksum
How to use checksums
18cac4c11a353e8e01466759e83af847a8052479c1f3f9c3da264ce635e67e50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 31, 2026.

Transparency log
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