Ifrit
Swfit library for fuzzy search. No dependencies lib.
Install / Use
/learn @ukushu/IfritREADME
NOT ALL CODE IS MIT-LICENSED! FULLY READ README
Ifrit
Super lightweight lib for fuzzy searching.
Works on iOS / macOS / Linux / Android and more:
<img src="https://raw.githubusercontent.com/ukushu/Ifrit/main/Z_Logo/Ifrit_Logo_360.png" width="150" height="150">This repository is built upon the archived Fuse-Swift project by KRisk: https://github.com/krisk/fuse-swift
https://github.com/ukushu/Ifrit.git
git@github.com:ukushu/Ifrit.git
What is fuzzy Search?
A fuzzy search algorithm is designed to find approximate matches for a given search query.
Let's say you have a list of products, and a user is looking for a "Czy Swetr,". Exact match will return nothing, but the fuzzy search will find "Cozy Sweater.".
If you need exact match - you need to use standard function .filter { } instead of this library.
Demo of Fuzzy Search:
<!--  -->Advanteges / Disadvantages of Ifrit
Advanteges:
+ Super lightweight
+ No dependencies
+ OS supported: MacOS(>=v10_15), iOS(>=v13), visionOS, watchOS, twOS, Linux
+ Async ( async/await + callbacks both )
+ Text highlight support (AttributedString)
+ Code covered with automated tests
+ Most of code licensed by "MIT License"
+ Can be linked as both Static and Dynamic package — choose what works best for you
Disadvantages:
- Not tested in production
- FuzzyFind licensed by "Apache License, Version 2.0"
Difference: Ifrit VS Fuze-Swift?
- Fuze-Swift: Swift 5.1~
+ Ifrit: Swift 6.2 compatible
+ Fuze-Swift support Pods and Packages :)
- Ifrit supports only Packages :(
- Fuze-Swift is dead :(
+ 🔥🔥🔥 Ifrit is Fuse-Swift, reborn from the hells ashes! But more powerful and alive than ever! 🔥🔥🔥 :)
- Fuse-Swift supports asynchronous functions with callbacks but lacks native async/await support. :(
+ Ifrit supports callbacks and async/await both :)
- Fuze-Swift have async/multithreading issues. Crashes is possible :(
+ Ifrit is stable and crash-free!
- Fuse-Swift's async functions return incorrect results - wrong indexes. :((((
+ Ifrit's async functions return correct indexes and are fully covered with tests :)
- Fuze-Swift was written for Xcode 11 and now generates numerous warnings :(
+ Ifrit's code is updated to the latest Swift standards of 2026 year :)
- But Ifrit still have a few build warnings :(
+ Ifrit - extended coverage with automated tests :)
+ Ifrit features an additional search system using the Levenshtein distance algorithm. :)
+ Ifrit allows searching by multiple search templates
+ Ifrit's syntax has been slightly adjusted for improved flexibility
+ Ifrit's sync search is 2% faster than Fuse's (using M1 processor and standard settings).
+ Async search performance remains the same as Fuse's (standard settings).
+ Ifrit was ported to Kotlin programming language: https://github.com/dfabulich/skip-ifrit
Installation
-
XCode -> Menu Line -> Add Package Dependencies ->
https://github.com/ukushu/Ifrit.git -
import Ifritto your source files.
Documentation / Instructions / Example Project
Ifrit repository have no example project. Use instructions below:
How to display search results in UI
Contributing
Ifrit welcomes contributions in the form of GitHub issues and pull-requests.
Related Skills
node-connect
329.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
81.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
329.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
81.1kCommit, push, and open a PR

