{"id":21743372,"url":"https://github.com/synacktraa/minifzf","last_synced_at":"2025-10-24T02:10:08.853Z","repository":{"id":219460163,"uuid":"749114240","full_name":"synacktraa/minifzf","owner":"synacktraa","description":"Python Library and Command Line Tool for Fuzzy Selection.","archived":false,"fork":false,"pushed_at":"2024-02-05T18:21:51.000Z","size":31,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-25T22:19:24.410Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/synacktraa.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-27T16:13:55.000Z","updated_at":"2024-08-05T19:43:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd73c6b6-1526-4713-811a-51b19c409756","html_url":"https://github.com/synacktraa/minifzf","commit_stats":null,"previous_names":["synacktraa/minifzf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synacktraa%2Fminifzf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synacktraa%2Fminifzf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synacktraa%2Fminifzf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synacktraa%2Fminifzf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synacktraa","download_url":"https://codeload.github.com/synacktraa/minifzf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244721249,"owners_count":20498917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-26T07:07:40.498Z","updated_at":"2025-10-24T02:10:03.811Z","avatar_url":"https://github.com/synacktraa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"https://github.com/synacktraa/minifzf/assets/91981716/8d4132dd-b873-4921-a2a2-2b2ede989a74\" alt=\"MiniFzf GIF\"\u003e\r\n\u003c/div\u003e\r\n\r\nLightweight 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.\r\n\r\n---\r\n\r\n### Key Features:\r\n- **Basic FZF Functionalities**: Incorporates the fundamental features of `fzf`, offering efficient and fast fuzzy finding and selection capabilities right in your command line.\r\n- **Library Use**: Can be easily imported and used as a module in other Python projects, enhancing the interactive command-line interface experience.\r\n- **Simplicity and Efficiency**: Stripped down to core features, ensuring a lightweight and straightforward user experience without the overhead of complex functionalities.\r\n\r\n### Ideal Use Cases:\r\n- Interactive data selection and navigation in Python CLI applications.\r\n- Quick searching and filtering in command-line based tools or scripts.\r\n- Enhancing existing Python projects with simple, efficient selection capabilities.\r\n- Developers seeking a minimalistic yet powerful alternative to `fzf` for Python.\r\n\r\n### Installation:\r\n\r\n```bash\r\npip install minifzf\r\n```\r\n\r\n### CLI Usage:\r\n\r\n```\r\n$ mfzf --help\r\n\r\nUsage: minifzf COMMAND [OPTIONS]\r\n\r\n╭─ Commands ────────────────────────────────────────────╮\r\n│ --help,-h     Display this message and exit.          │\r\n│ --version,-v  Display application version.            │\r\n╰───────────────────────────────────────────────────────╯\r\n╭─ Parameters ──────────────────────────────────────────╮\r\n│ --query  -q  Start the selector with the given query. │\r\n│ --first  -1  Automatically select the only match.     │\r\n╰───────────────────────────────────────────────────────╯\r\n```\r\n\r\nStart `minifzf` selection for current directory.\r\n\r\n```bash\r\nmfzf\r\n```\r\n\r\nWith initial query.\r\n\r\n```bash\r\nminifzf -q \"\u003cYour Query\u003e\"\r\n```\r\n\r\nReturned most relevant item.\r\n\r\n```bash\r\nmfzf -q \"\u003cYour Query\u003e\" -1\r\n```\r\n\r\nSelect from Standard Input.\r\n\r\n\u003e No UNIX support for now (Throws `[Errno 25] Inappropriate ioctl for device` because minifzf uses sshkeyboard which utilizes termios library.)\r\n```bash\r\ncat filename | minifzf\r\n```\r\n\r\n### Library Usage:\r\n\r\nInitiating selector with headers and rows.\r\n\r\n```python\r\nfrom minifzf import Selector\r\nfrom pathlib import Path\r\n\r\nselector = Selector(\r\n    headers=['files'],\r\n    rows=[[str(p)] for p in Path.cwd().glob('*')])\r\nselected = selector.select()\r\n```\r\n\r\nInitating selector with mappings.\r\n\r\n```python\r\nfrom minifzf import Selector\r\n\r\nmappings = [\r\n    {\"id\": \"51009\", \"name\": \"Jujutsu Kaisen 2nd Season\"},\r\n    {\"id\": \"40748\", \"name\": \"Jujutsu Kaisen\"},\r\n    {\"id\": \"48561\", \"name\": \"Jujutsu Kaisen 0 Movie\"}\r\n]\r\nselector = Selector.from_mappings(mappings=mappings)\r\nselected = selector.select()\r\n```\r\n\r\nInitiating a path selector.\r\n\r\n```python\r\nfrom minifzf import Selector\r\nfrom pathlib import Path\r\n\r\npath_selector = Selector.as_path_selector(\r\n    directory=Path('path/to/directory'), recursive=False)\r\nselected = path_selector.select()\r\n```\r\n\r\n### Contribution and Feedback:\r\nWe 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.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynacktraa%2Fminifzf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynacktraa%2Fminifzf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynacktraa%2Fminifzf/lists"}