Developing Alfred5 workflow using alfred5 python package
programming, alfred5, alfred workflow, python, macOS
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FtAuXJOy.png&width=768&dpr=4&quality=100&sign=a0292d8&sv=1)
🔰 How to Create Workflow
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2F2oDMChr.png&width=768&dpr=4&quality=100&sign=22442275&sv=1)
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FIMVWNDm.png&width=768&dpr=4&quality=100&sign=e937e6b6&sv=1)
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FWicJKBN.png&width=768&dpr=4&quality=100&sign=f8ed19e6&sv=1)
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FAwPNT8Y.png&width=768&dpr=4&quality=100&sign=2324b83b&sv=1)
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FrR0nFpI.png&width=768&dpr=4&quality=100&sign=af65ef81&sv=1)
Preparing to Code Workflow using alfred5 package and python
Init your project directory
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FO6rYLQA.png&width=768&dpr=4&quality=100&sign=da902b8e&sv=1)
Create
src
folderPut your codes and
requirements.txt
tosrc
folders
⚠️ If u installed all of requirements, dont need to create
requirements.txt
file insrc
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FjYYTykf.png&width=768&dpr=4&quality=100&sign=1ffa3e9e&sv=1)
Understanding alfred5
use-cases
alfred5
use-casesVia
SnippetsClient
API create custom snippets programmaicallyVia
WorkflowClient
API create custom alfred workflowCraete
requirements.txt
file for your python project to letalfred5
installs them if needed 🙃To install
from requirements.txt
do all import packages insidemain
Use
global
keyword to access imported packages globallyclient.query
is the query stringclient.page_count
is the page count for pagination results
Dont need to add
alfred5
torequirements.txt
Use
WorkflowClient.log
to log your message to alfred debuggerUse
WorkflowClient(main, cache=True)
method to use caching systemJust do it for static (not timebased nor any dynamic stuff) response
Db path is
db/results.yml
also you can see it from workflow debug panel
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FT2FVqD2.png&width=768&dpr=4&quality=100&sign=269716b9&sv=1)
⭐️ Example Project
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FtUJjVUJ.png&width=768&dpr=4&quality=100&sign=ea331c38&sv=1)
![](https://docs.yemreak.com/~gitbook/image?url=https%3A%2F%2Fi.imgur.com%2FMcjaSni.png&width=768&dpr=4&quality=100&sign=41847d29&sv=1)
🪪 License
Last updated