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.1

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.1
File Size Uploaded
pyflowlauncher-1.2.1.tar.gz 20.1 kB Details

Built distribution (wheel)

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

Total release size: 45.0 kB

Release files / pyflowlauncher-1.2.1.tar.gz

Download URL pyflowlauncher-1.2.1.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7ff797255255ff02202c1a732b2fecd2ad834d2fed1e61dc70679787322212c9
BLAKE2b-256 checksum
How to use checksums
f44a04f20e61f10798a0314d9245933037ef5be1082f2ad747d9b5f15fe0e404
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 Sep 4, 2026.

Transparency log

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

Download URL pyflowlauncher-1.2.1-py3-none-any.whl
Size 25.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8942f01aaefd6fc103cc8f14f788ef16a28adf6f9353433e4258c99de2bee077
BLAKE2b-256 checksum
How to use checksums
7d606fc9febdbac341c9d2283c9120d28c3cb907974ac93ba5acd243430b203f
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 Sep 4, 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