stephencelis/sqlite.swift

A type-safe, Swift-language layer over SQLite3.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 45 minutes ago
Added to GitGenius on September 6th, 2026
Created on October 4th, 2014
Open Issues & Pull Requests: 143 (+0)
GitHub issues: Enabled
Number of forks: 1,611
Total Stargazers: 10,189 (+0)
Total Subscribers: 214 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

SQLite.swift is a type-safe, Swift-language layer over SQLite3.

The tool addresses the challenge of working with SQLite from Swift by providing compile-time confidence in both SQL statement syntax and intent. Rather than exposing the raw C API, it wraps SQLite3 with a pure-Swift interface that includes a type-safe, optional-aware SQL expression builder and a flexible, chainable, lazy-executing query layer. Data access is automatically typed, and the tool handles query and parameter binding through a lightweight interface designed for developer convenience.

SQLite.swift suits Swift projects on Apple platforms and Linux that need embedded database functionality without the complexity of raw C bindings. It works well for applications requiring full-text search, schema migrations, or WAL mode configuration. The tool is particularly valuable when you want compile-time guarantees about your database queries rather than discovering SQL errors at runtime. It also provides SQLCipher support through Swift Package Manager for projects needing encrypted databases.

The project maintains active engagement with its user community through Stack Overflow and a Gitter chat room. Development includes comprehensive documentation and an interactive Xcode playground for exploration. The codebase is extensively tested and supports multiple installation methods including Swift Package Manager, Carthage, CocoaPods, and manual Xcode integration. The tool works on Linux with some limitations noted in its documentation.