A type-safe, Swift-language layer over SQLite3 that provides compile-time confidence in SQL statement syntax and intent.
SQLite.swift is a Swift library that provides a type-safe, optional-aware wrapper around the SQLite3 C library. It allows developers to interact with SQLite databases using native Swift syntax, offering compile-time validation of SQL queries and expressions to prevent runtime errors.
Swift developers building iOS, macOS, or Linux applications that require local database persistence with type safety and modern Swift conventions.
Developers choose SQLite.swift for its compile-time safety, pure Swift implementation, and developer-friendly API that reduces SQL-related bugs while maintaining full access to SQLite3's capabilities.
A type-safe, Swift-language layer over SQLite3.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The type-safe SQL expression builder checks queries at compile time, preventing syntax errors and improving reliability, as emphasized in the key features for reducing runtime errors.
It's a native Swift wrapper without Objective-C bridging, ensuring seamless integration with modern Swift projects and avoiding cross-language complications.
Offers a chainable, lazy-executing query layer that enables efficient and readable database operations, demonstrated in the usage examples with filter and update methods.
Includes support for advanced text search capabilities out of the box, reducing dependency on external libraries for search functionality.
Works on iOS, macOS, and Linux, making it versatile for Swift applications across platforms, though the README notes limitations on Linux.
Lacks advanced ORM capabilities like automatic relationship management or complex schema tools, which may require additional libraries such as SQLiteMigrationManager.swift.
Installation without package managers involves dragging Xcode projects and configuring frameworks manually, which can be cumbersome and error-prone compared to SPM or CocoaPods.
The abstraction layer introduces slight performance penalties compared to direct SQLite3 C API usage, which might impact high-throughput applications.
The README explicitly states it works on Linux 'with some limitations,' potentially causing issues in cross-platform deployments without clear documentation on those limits.