A Swift library that provides SQL-like data manipulation operators using typed keypaths for clean, declarative syntax.
KeyPathKit is a Swift library that provides SQL-like data manipulation operators using Swift's KeyPath feature. It solves the problem of verbose and imperative data querying by offering a declarative syntax that makes filtering, sorting, mapping, and aggregating data concise and type-safe.
Swift developers building iOS, macOS, tvOS, or watchOS applications who need to perform complex data transformations and queries on collections in a clean, readable manner.
Developers choose KeyPathKit for its unique keypath-based syntax that reduces boilerplate, improves code clarity, and brings SQL-like expressiveness to Swift without sacrificing type safety or requiring external dependencies.
KeyPathKit is a library that provides the standard functions to manipulate data along with a call-syntax that relies on typed keypaths to make the call sites as short and clean as possible.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables expressive, readable queries similar to SQL, such as filter(where: \.lastName == 'Webb' && \.age < 40), reducing imperative boilerplate.
Leverages Swift's KeyPath feature for compile-time property references, preventing runtime errors and enhancing code reliability.
Offers comprehensive data manipulation operators like join, groupBy, sum, and average, covering most common needs as detailed in the README.
Built on native Swift features, allowing clean call sites and easy adoption in existing iOS/macOS projects without external dependencies.
Operates solely on in-memory collections, lacking direct support for databases or persistent storage, which limits use in data-intensive apps.
Requires Swift 4 or higher, excluding projects stuck on older Swift versions and risking compatibility issues with future Swift updates.
The README shows no asynchronous operators, making it less suitable for modern reactive programming or performance-critical concurrent data processing.