{"id":18395547,"url":"https://github.com/garulf/pyflowlauncher","last_synced_at":"2025-04-07T03:35:07.416Z","repository":{"id":207483801,"uuid":"716841309","full_name":"Garulf/pyFlowLauncher","owner":"Garulf","description":"Python JSON-RPC library for Flow Launcher plugins.","archived":false,"fork":false,"pushed_at":"2024-02-27T16:37:50.000Z","size":732,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-01T18:08:37.769Z","etag":null,"topics":["flow-launcher","flow-launcher-plugins"],"latest_commit_sha":null,"homepage":"https://garulf.github.io/pyFlowLauncher/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Garulf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-10T01:37:44.000Z","updated_at":"2024-03-25T21:37:47.000Z","dependencies_parsed_at":"2024-01-16T08:57:07.767Z","dependency_job_id":"20733c1c-5632-4d89-a793-5e489e877f3e","html_url":"https://github.com/Garulf/pyFlowLauncher","commit_stats":null,"previous_names":["garulf/pyflowlauncher"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garulf%2FpyFlowLauncher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garulf%2FpyFlowLauncher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garulf%2FpyFlowLauncher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garulf%2FpyFlowLauncher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Garulf","download_url":"https://codeload.github.com/Garulf/pyFlowLauncher/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247589785,"owners_count":20963022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flow-launcher","flow-launcher-plugins"],"created_at":"2024-11-06T02:11:22.784Z","updated_at":"2025-04-07T03:35:07.115Z","avatar_url":"https://github.com/Garulf.png","language":"Python","funding_links":["https://www.buymeacoffee.com/garulf"],"categories":[],"sub_categories":[],"readme":"[![Tests Workflow Status](https://img.shields.io/github/actions/workflow/status/garulf/pyflowlauncher/tests.yaml?style=flat-square\u0026label=tests)](https://github.com/Garulf/pyFlowLauncher/actions/workflows/tests.yaml) \n[![Docs Workflow Status](https://img.shields.io/github/actions/workflow/status/garulf/pyflowlauncher/tests.yaml?style=flat-square\u0026label=docs)](https://github.com/Garulf/pyFlowLauncher/actions/workflows/docs.yaml) \n[![Release Workflow Status](https://img.shields.io/github/actions/workflow/status/garulf/pyflowlauncher/create_release.yaml?style=flat-square\u0026label=release)](https://github.com/Garulf/pyFlowLauncher/actions/workflows/create_release.yaml) \n[![pypi](https://img.shields.io/pypi/v/pyflowlauncher?style=flat-square)](https://pypi.org/project/pyflowlauncher/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyflowlauncher)](https://pypi.org/project/pyflowlauncher/)\n[![GitHub License](https://img.shields.io/github/license/garulf/pyflowlauncher?style=flat-square)](./LICENSE)\n[![buymeacoffee](https://img.shields.io/badge/buy%20me%20a%20coffee-yellow.svg?style=flat-square\u0026logo=buymeacoffee\u0026logoColor=000)](https://www.buymeacoffee.com/garulf)\n\n# pyFlowLauncher\n\npyFlowLauncher is an API that allows you to quickly create plugins for Flow Launcher!\n\n## Installation\n\nInstall via pip:\n\n```py\npython -m pip install pyflowlauncher[all]\n```\n\n\u003e [!IMPORTANT]\n\u003e Please use the `[all]` flag in order to support Python versions older then `3.11`.\n\n## Usage\n\n### Basic plugin\n\nA basic plugin using a function as the query method.\n\n```py\nfrom pyflowlauncher import Plugin, Result, send_results\nfrom pyflowlauncher.result import ResultResponse\n\nplugin = Plugin()\n\n\n@plugin.on_method\ndef query(query: str) -\u003e ResultResponse:\n    r = Result(\n        Title=\"This is a title!\",\n        SubTitle=\"This is the subtitle!\",\n        IcoPath=\"icon.png\"\n    )\n    return send_results([r])\n\n\nplugin.run()\n```\n\n### Advanced plugin\n\nA more advanced usage using a `Method` class as the query method.\n\n```py\nfrom pyflowlauncher import Plugin, Result, Method\nfrom pyflowlauncher.result import ResultResponse\n\nplugin = Plugin()\n\n\nclass Query(Method):\n\n    def __call__(self, query: str) -\u003e ResultResponse:\n        r = Result(\n            Title=\"This is a title!\",\n            SubTitle=\"This is the subtitle!\"\n        )\n        self.add_result(r)\n        return self.return_results()\n\nplugin.add_method(Query())\nplugin.run()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarulf%2Fpyflowlauncher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarulf%2Fpyflowlauncher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarulf%2Fpyflowlauncher/lists"}