{"id":27758,"library":"fzf-bin","title":"fzf","description":"fzf is a general-purpose command-line fuzzy finder. Version 0.72.0 provides a fast and interactive fuzzy search over lists of strings, files, command history, processes, hostnames, bookmarks, git commits, etc. It is typically used as a standalone binary, not imported directly in Python. Release cadence: irregular, approximately 1-2 major versions per year.","status":"active","version":"0.72.0","language":"python","source_language":"en","source_url":"https://github.com/junegunn/fzf","tags":["fzf","fuzzy-finder","cli","subprocess"],"install":[{"cmd":"pip install fzf-bin","lang":"bash","label":"Install via pip"}],"dependencies":[],"imports":[],"quickstart":{"code":"import subprocess\nimport json\n\n# Example: fuzzy search file names\nresult = subprocess.run(\n    ['fzf', '--filter', 'pattern'],\n    input='file1.txt\\nfile2.py\\nnotes.md\\ndocument.pdf',\n    capture_output=True,\n    text=True\n)\nprint(result.stdout.strip().split('\\n'))\n\n# Example: interactive fzf in terminal (requires tty)\n# result = subprocess.run(['fzf'], input='...', capture_output=True, text=True)\n# print(f'You selected: {result.stdout.strip()}')","lang":"python","description":"Use subprocess to invoke the fzf binary. Note that interactive mode requires a tty; for non-interactive use, pipe input and use --filter."},"warnings":[{"fix":"Use subprocess.run(['fzf', ...]) instead of import fzf.","message":"fzf-bin installs the fzf binary, not a Python module. You cannot import fzf directly in Python; use subprocess.","severity":"gotcha","affected_versions":"all"},{"fix":"Use --filter for non-interactive filtering, or use pexpect/pyfzf bindings.","message":"Interactive fzf (no --filter) requires a real terminal (tty). In headless environments or subprocess in Python, it may hang or fail.","severity":"gotcha","affected_versions":"all"},{"fix":"Update scripts to use new flags; remove deprecated flags like --no-sort (now default).","message":"Version 0.20.0 dropped many command-line flags; --no-sort became default behavior. Check old scripts.","severity":"deprecated","affected_versions":"<0.20"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Use subprocess to call the fzf binary: subprocess.run(['fzf', ...]).","cause":"fzf is a binary tool, not a Python importable package.","error":"ModuleNotFoundError: No module named 'fzf'"},{"fix":"Use --layout=reverse-list or other layout option instead of --horizontal.","cause":"The --horizontal flag was removed in fzf 0.27.0.","error":"fzf: --horizontal: unknown option"},{"fix":"Install fzf via your package manager or download from GitHub. For Python, pip install fzf-bin ensures binary is available in PATH.","cause":"fzf binary is not installed or not in PATH.","error":"Error: fzf: command not found"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}