A python wrapper for junegunn's awesome fzf.
- Python 3.6+
- fzf
Note: fzf must be installed and available on PATH.
pip install pyfzf
>>> from pyfzf.pyfzf import FzfPrompt
>>> fzf = FzfPrompt()
If fzf
is not available on PATH, you can specify a location
>>> fzf = FzfPrompt('/path/to/fzf')
Simply pass a list of options to the prompt function to invoke fzf.
>>> fzf.prompt(range(0,10))
You can pass additional arguments to fzf as a second argument
>>> fzf.prompt(range(0,10), '--multi --cycle')
Note that pyfzf
respects all fzf
environment variables.
For example, if you include the following line in your shell's rc file
FZF_DEFAULT_OPTS="--multi --cycle"
then the above Python REPL line can be simplified to
>>> fzf.prompt(range(0,10))
Input items are written to a temporary file which is then passed to fzf.
The items are delimited with \n
by default, you can also change the delimiter
(useful for multiline items)
>>> fzf.prompt(range(0,10), '--read0', '\0')
MIT
@brookite for adding Windows support in v0.3.0