Skip to main content
MiniFzf GIF

Lightweight and efficient Python library inspired by the powerful features of fzf, the popular command-line fuzzy finder. minifzf is designed to bring the essential functionalities of fzf into your Python CLI projects with ease and simplicity.


Key Features:

  • Basic FZF Functionalities: Incorporates the fundamental features of fzf, offering efficient and fast fuzzy finding and selection capabilities right in your command line.
  • Library Use: Can be easily imported and used as a module in other Python projects, enhancing the interactive command-line interface experience.
  • Simplicity and Efficiency: Stripped down to core features, ensuring a lightweight and straightforward user experience without the overhead of complex functionalities.

Ideal Use Cases:

  • Interactive data selection and navigation in Python CLI applications.
  • Quick searching and filtering in command-line based tools or scripts.
  • Enhancing existing Python projects with simple, efficient selection capabilities.
  • Developers seeking a minimalistic yet powerful alternative to fzf for Python.

Installation:

pip install minifzf

CLI Usage:

$ mfzf --help

Usage: minifzf COMMAND [OPTIONS]

╭─ Commands ────────────────────────────────────────────╮
│ --help,-h     Display this message and exit.          │
│ --version,-v  Display application version.            │
╰───────────────────────────────────────────────────────╯
╭─ Parameters ──────────────────────────────────────────╮
│ --query  -q  Start the selector with the given query. │
│ --first  -1  Automatically select the only match.     │
╰───────────────────────────────────────────────────────╯

Start minifzf selection for current directory.

mfzf

With initial query.

minifzf -q "<Your Query>"

Returned most relevant item.

mfzf -q "<Your Query>" -1

Select from Standard Input.

No UNIX support for now (Throws [Errno 25] Inappropriate ioctl for device because minifzf uses sshkeyboard which utilizes termios library.)

cat filename | minifzf

Library Usage:

Initiating selector with headers and rows.

from minifzf import Selector
from pathlib import Path

selector = Selector(
    headers=['files'],
    rows=[[str(p)] for p in Path.cwd().glob('*')])
selected = selector.select()

Initating selector with mappings.

from minifzf import Selector

mappings = [
    {"id": "51009", "name": "Jujutsu Kaisen 2nd Season"},
    {"id": "40748", "name": "Jujutsu Kaisen"},
    {"id": "48561", "name": "Jujutsu Kaisen 0 Movie"}
]
selector = Selector.from_mappings(mappings=mappings)
selected = selector.select()

Initiating a path selector.

from minifzf import Selector
from pathlib import Path

path_selector = Selector.as_path_selector(
    directory=Path('path/to/directory'), recursive=False)
selected = path_selector.select()

Contribution and Feedback:

We welcome contributions and feedback to improve minifzf. If you have ideas, issues, or want to contribute, please feel free to open an issue or a pull request.

Metadata

Release files for minifzf 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for minifzf 0.1.4
File Size Uploaded
minifzf-0.1.4.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for minifzf 0.1.4
File Interpreter ABI Platform
minifzf-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 15.3 kB

Release files / minifzf-0.1.4.tar.gz

Download URL minifzf-0.1.4.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0c3dbe11677773c324c4ad15427bafec951bafbbc2e52072d1903a0a98640f7a
BLAKE2b-256 checksum
How to use checksums
5b7423f86a6b502f40b99b3c21884e0ed5ba26ffe03acfd83247703cc940b379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.10.11 Windows/10

Release files / minifzf-0.1.4-py3-none-any.whl

Download URL minifzf-0.1.4-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd2288d5e5d6892ea941e24ef40b2100a7230d9dea7091f1170ed1d2e13340ae
BLAKE2b-256 checksum
How to use checksums
f761e03f784cfd684e2569595085bcdc79101a0bac0a92aabefbe03c019903e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.10.11 Windows/10

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page