$npx skillfedfor your agent

iterfzf

Pythonic interface to fzf

With conditionsPyPI TerminalsReleased Jan 2026690.2K downloads / moGPL-3.0-or-laterPlatform wheel

Decision gist · record as of 2026-08-14

platform wheels — iterfzf-1.9.0.67.0-py3-none-macosx_10_7_x86_64.macosx_10_9_x86_64.whl · iterfzf-1.9.0.67.0-py3-none-macosx_11_0_arm64.whl · iterfzf-1.9.0.67.0-py3-none-manylinux_1_2_aarch64.manylinux_2_17_aarch64.manylinux2014_aarch64.whl
v1.9.0.67.0 · released 2026-01-25 · Python >=3.8

Yes, with conditions. Install if you need interactive fuzzy selection in Python and can accept GPLv3 licensing constraints. The bundled fzf binaries eliminate setup friction on common platforms, and zero runtime dependencies make integration straightforward. However, aging maintenance (last release 201 days ago) and platform-specific wheel availability mean you should verify fzf binary support for your target platform and monitor for security updates to the bundled fzf version.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires fzf binary available at runtime; bundled wheels provide this for common platforms, but FreeBSD and other minor platforms require manual fzf installation.
  • Medium install friction due to platform-specific wheels, but prebuilt fzf binaries are bundled for common platforms (macOS, Linux, Windows on x86_64 and ARM), eliminating external dependencies.
  • Last release was 201 days ago; maintenance status is aging but the repository remains active and not archived.

License · maintenance · safety

GPL-3.0-or-later (copyleft) — Licensed under GPL-3.0-or-later (copyleft). Any code that imports and uses iterfzf in a distributed application must comply with GPLv3 obligations, including source code disclosure if the application is distributed.

last release 2026-01-25 (201 days) · last repo commit 2026-01-25 · 197 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 690,194 downloads/mo, #5,331 on PyPI

Verify before relying

pip install iterfzf

from iterfzf import iterfzf

result = iterfzf(['apple', 'banana', 'cherry'])
print(result)  # returns the user's selection
  • Whether the bundled fzf binary versions are kept current with upstream fzf security patches.
  • Performance characteristics when streaming very large iterables over slow network connections.
  • Compatibility with non-standard terminal emulators or restricted shell environments.
Same gist for agents: .md · .json

What it is and what it does

iterfzf wraps the fzf command-line fuzzy finder in a Pythonic API that consumes iterables lazily rather than requiring a complete list upfront. This design enables immediate display of items as they arrive, making it particularly useful when data is streamed from network sources or generated on-demand. The package bundles prebuilt fzf binaries for major platforms (macOS, Linux, Windows), so installation via pip includes everything needed without requiring separate fzf setup.

The core function, iterfzf(), accepts an iterable of strings and displays them interactively, returning the user's selection(s) or raising KeyboardInterrupt if cancelled. It supports both single and multi-selection modes, fuzzy and exact matching, ANSI colors, custom key bindings, tmux integration, and numerous fzf options passed as keyword arguments. It handles both Unicode and byte strings, respects encoding parameters, and can process multi-line items using NUL-character separation.

Use it for

  • Build interactive CLI tools that let users pick from dynamically generated or streamed lists without buffering all items first.
  • Create shell-like selection interfaces in Python scripts where users interactively choose from search results or file listings.
  • Integrate fuzzy finding into data pipelines where selections feed into downstream processing steps.
  • Implement terminal-based configuration or menu systems with live search and filtering.
  • Process multi-line or complex text data interactively with NUL-separated I/O for safe delimiter handling.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, with conditions.

Install if you need interactive fuzzy selection in Python and can accept GPLv3 licensing constraints. The bundled fzf binaries eliminate setup friction on common platforms, and zero runtime dependencies make integration straightforward. However, aging maintenance (last release 201 days ago) and platform-specific wheel availability mean you should verify fzf binary support for your target platform and monitor for security updates to the bundled fzf version.

Install

iterfzf on PyPI

Before you install

Medium install friction due to platform-specific wheels, but prebuilt fzf binaries are bundled for common platforms (macOS, Linux, Windows on x86_64 and ARM), eliminating external dependencies. Last release was 201 days ago; maintenance status is aging but the repository remains active and not archived.

Requires fzf binary available at runtime; bundled wheels provide this for common platforms, but FreeBSD and other minor platforms require manual fzf installation.

License in practice

Licensed under GPL-3.0-or-later (copyleft). Any code that imports and uses iterfzf in a distributed application must comply with GPLv3 obligations, including source code disclosure if the application is distributed.

Quickstart

pip install iterfzf

from iterfzf import iterfzf

result = iterfzf(['apple', 'banana', 'cherry'])
print(result)  # returns the user's selection

Verify before relying

  • Whether the bundled fzf binary versions are kept current with upstream fzf security patches.
  • Performance characteristics when streaming very large iterables over slow network connections.
  • Compatibility with non-standard terminal emulators or restricted shell environments.

Package facts

LicenseGPL-3.0-or-later copyleft
Python supportSupports the current Python release >=3.8
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceAging 201 days since the last release
Last repo commit
First released
Downloads690,194 / month, #5,331 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaEnvironment :: Console :: CursesIntended Audience :: DevelopersOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: BSD :: FreeBSDOperating System :: POSIX :: BSD :: OpenBSDOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Terminals

Evidence: iterfzf-1.9.0.67.0-py3-none-macosx_10_7_x86_64.macosx_10_9_x86_64.whl; iterfzf-1.9.0.67.0-py3-none-macosx_11_0_arm64.whl; iterfzf-1.9.0.67.0-py3-none-manylinux_1_2_aarch64.manylinux_2_17_aarch64.manylinux2014_aarch64.whl; iterfzf-1.9.0.67.0-py3-none-manylinux_1_2_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; iterfzf-1.9.0.67.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; iterfzf-1.9.0.67.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl; iterfzf-1.9.0.67.0-py3-none-win_amd64.whl; iterfzf-1.9.0.67.0-py3-none-win_arm64.whl

Tags

Capabilities
fzf python interfaceinteractive fuzzy selectioncommand-line pickerlazy iterable selectionterminal ui selection toolstreaming data pickerinteractive list selector
Topics
interactive-clifuzzy-finderuser-selection
PyPI keywords
fzf

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “fzf python interface”

  • iterfzfProvides a Python interface to fzf, a command-line fuzzy finder,…
  • pyfzfpyfzf wraps the fzf command-line fuzzy finder, letting you invoke…
  • myclimycli is a command-line client for MySQL and compatible databases…

Give your agent the search over MCP, or paste the wish link into any chat.

More Terminals packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
rich Worth it
PyPI · Terminals · released Apr 2026

Rich renders styled text, tables, progress bars, syntax highlighting, markdown, and tracebacks to the terminal with minimal code.

MITpure Python · 3.9.0+
613.9Mdownloads / mo
colorama Worth it
PyPI · Terminals · released Oct 2022

Colorama makes ANSI escape sequences for colored terminal text work on Windows by intercepting and converting them to win32 API calls, while passing through unchanged on other platforms.

Install it if you need colored terminal output to work on Windows or want to use ANSI-based libraries portably; skip it only if you target non-Windows platforms…

BSD-3-Clausepure Python
431.0Mdownloads / mo
wcwidth Worth it
PyPI · Libraries · released Jun 2026

Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.

Install it if your application formats text for terminals and handles non-ASCII characters.

MITpure Python · 3.8+
306.5Mdownloads / mo
ptyprocess With conditions
PyPI · Terminals · released Dec 2020

Run a subprocess in a pseudo terminal (pty) and interact with its input and output, enabling automation of interactive programs that require terminal features like password prompts or curses-style interfaces.

However, note that it is aging (last release 2020-12-28) and not actively maintained; it works well for its narrow, well-defined purpose but won't receive updates for…

ISCpure Pythonaging
205.2Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo

See also pyfzf · first · pick · tfidf-matcher · fuzzyfinder · iterm2 · ngram · py-tlsh · pysimstring · mycli