{"data":{"slug":"deanishe-alfred-workflow","name":"alfred-workflow","tagline":"Full-featured library for writing Alfred 3 & 4 workflows","github_url":"https://github.com/deanishe/alfred-workflow","owner":"deanishe","repo":"alfred-workflow","owner_avatar_url":"https://avatars.githubusercontent.com/u/747913?v=4","primary_language":"Python","stars":2963,"forks":236,"topics":["alfred","alfred-3","alfred-workflow","alfred3","alfred4","alfred4-workflow","caching","fuzzy-search","http","keychain","python","workflow","workflows"],"archived":false,"github_pushed_at":"2023-01-10T14:43:04+00:00","maintenance_label":"Dormant","stars_delta_30d":-4,"url":"https://www.graphcanon.com/tools/deanishe-alfred-workflow","markdown_url":"https://www.graphcanon.com/tools/deanishe-alfred-workflow.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/deanishe-alfred-workflow","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=deanishe-alfred-workflow","description":"Full-featured library for writing Alfred 3 & 4 workflows","homepage_url":"https://www.deanishe.net/alfred-workflow/","license":"Other","open_issues":21,"watchers":56,"ai_summary":"A Python-based helper library that simplifies the creation of efficient and fast Alfred workflows by offering a suite of core functionalities like caching, secure storage, background tasks, and more.","readme_excerpt":"<div align=\"center\">\n  <img src=\"./icon.png\" alt=\"Alfred-Workflow logo\" height=\"200\">\n</div>\n\nAlfred-Workflow\n===============\n\nA helper library in Python for authors of workflows for [Alfred 3 and 4][alfred].\n\n\n[![Build Status][shield-github]][action-github]\n[![Coverage Status][shield-coveralls]][coveralls]\n[![Development Status][shield-status]][pypi]\n[![Latest Version][shield-version]][pypi]\n[![Supported Python Versions][shield-pyversions]][pypi]\n\n\n\nSupports Alfred 3 and Alfred 4 on macOS 10.7+ (Python 2.7).\n\nAlfred-Workflow takes the grunt work out of writing a workflow by giving you the tools to create a fast and featureful Alfred workflow from an API, application or library in minutes.\n\nAlways supports all current Alfred features.\n\n\nFeatures\n--------\n\n- Auto-saved settings API for your workflow\n- Super-simple data caching with expiry\n- Fuzzy filtering (with smart diacritic folding)\n- Keychain support for secure storage of passwords, API keys etc.\n- Lightweight web API with [Requests][requests]-like interface\n- Background tasks to keep your workflow responsive\n- Simple generation of Alfred JSON feedback\n- Full support of Alfred's AppleScript/JXA API\n- Catches and logs workflow errors for easier development and support\n- \"Magic\" arguments to help development/debugging\n- Unicode support\n- Pre-configured logging\n- Automatically check for workflow updates via GitHub releases\n- Post notifications via Notification Center\n\n\n### Alfred 4+ features ###\n\n- Advanced modifiers\n- Alfred 4-only updates (won't break older Alfred installs)\n\n\nContents\n--------\n\n\n\n- [Installation](#installation)\n  - [With pip](#with-pip)\n  - [From source](#from-source)\n- [Usage](#usage)\n  - [Workflow script skeleton](#workflow-script-skeleton)\n  - [Examples](#examples)\n    - [Web](#web)\n    - [Keychain access](#keychain-access)\n- [Documentation](#documentation)\n  - [Dash docset](#dash-docset)\n- [Licensing, thanks](#licensing-thanks)\n- [Contributing](#contributing)\n  - [Adding a workflow to the list](#adding-a-workflow-to-the-list)\n  - [Bug reports, pull requests](#bug-reports-pull-requests)\n  - [Contributors](#contributors)\n- [Workflows using Alfred-Workflow](#workflows-using-alfred-workflow)\n\n\n\n\n<a name=\"installation\"></a>\nInstallation\n------------\n\n**Note**: If you're new to Alfred workflows, check out\n[the tutorial][docs-tutorial] in the docs.\n\n\n<a name=\"with-pip\"></a>\n### With pip ###\n\nYou can install Alfred-Workflow directly into your workflow with:\n\n```bash\n# from your workflow directory\npip install --target=. Alfred-Workflow\n```\n\nYou can install any other library available on the [Cheese Shop][cheeseshop] the same way. See the [pip documentation][pip-docs] for more information.\n\nIt is highly advisable to bundle all your workflow's dependencies with your workflow in this way. That way, it will \"just work\".\n\n\n<a name=\"from-source\"></a>\n### From source ###\n\n1. Download the `alfred-workflow-X.X.X.zip` from the [GitHub releases page][releases].\n2. Extract the ZIP archive and place the `workflow` directory in the root folder of your workflow (where `info.plist` is).\n\nYour workflow should look something like this:\n\n    Your Workflow/\n        info.plist\n        icon.png\n        workflow/\n            __init__.py\n            background.py\n            notify.py\n            Notify.tgz\n            update.py\n            version\n            web.py\n            workflow.py\n        yourscript.py\n        etc.\n\nAlternatively, you can clone/download the Alfred-Workflow [repository][repo] and copy the `workflow` subdirectory to your workflow's root directory.\n\n\n<a name=\"usage\"></a>\nUsage\n-----\n\nA few examples of how to use Alfred-Workflow.\n\n\n<a name=\"workflow-script-skeleton\"></a>\n### Workflow script skeleton ###\n\nSet up your workflow scripts as follows (if you wish to use the built-in error handling or `sys.path` modification):\n\n```python\n#!/usr/bin/python\n# encoding: utf-8\n\nimport sys\n\n# Workflow3 supports Alfred 3's new features. The `Workflow` class\n# is also compatibl","github_created_at":"2014-02-21T11:58:19+00:00","created_at":"2026-07-15T10:48:14.714091+00:00","updated_at":"2026-09-20T04:27:27.235868+00:00","categories":[{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"alfred-workflow","name":"alfred-workflow"},{"slug":"caching","name":"caching"},{"slug":"fuzzy-search","name":"fuzzy-search"},{"slug":"http","name":"http"},{"slug":"keychain","name":"keychain"},{"slug":"python","name":"python"}],"trust":{"provenance":{"is_fork":false,"github_id":17055028,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-16T06:00:32.498Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":1344,"last_release_at":"2020-05-22T17:19:57Z","stars_delta_30d":-4,"open_issues_delta_30d":0},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-15T10:48:16.349Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-16T06:00:32.953Z"},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-09-16T06:00:32.953Z"},"license_spdx":{"value":"Other","source":"github.license","observed_at":"2026-09-16T06:00:32.953Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["Use this tool if you are creating Alfred workflows specifically for Alfred 3 or 4 on macOS.","Choose it when you need comprehensive features like secure storage, background tasks, and caching in your workflow."],"when_not_to_use":["Do not use this library if your development is focused on different productivity applications that do not integrate with Alfred.","Avoid this tool if you are working on systems or environments that do not support macOS, as it is designed for macOS only."],"source":"enrich:decision_facts","observed_at":"2026-07-16T20:51:31.401Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Alfred-workflow is a Python library that simplifies the creation of Alfred workflows for macOS users, supporting versions 3 and 4."}]}}