SSWG-0022: SQLiteNIO

The review of SSWG-0022: SQLiteNIO begins now and runs for two weeks, until August 17th, 2023.

Reviews are an important part of the Swift Server Work Group incubation process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to the review manager (via email) or direct message in the Swift forums).

The package is being proposed in Sandbox maturity level, given it's long and successful use inside Apple. Please note the Maturity Justification inside the proposal for details.

The previous pitch thread is here: SQLiteNIO

What goes into a review of a proposal?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, become listed on the Swift Server Ecosystem index page .

When reviewing a proposal, here are some questions to consider:

  • What is your evaluation of the proposal and its APIs/implementation?
  • Is the problem being addressed relevant for the wider Swift on Server ecosystem?
  • Does this proposal fit well with the feel and direction of the Swift Server ecosystem?
  • If you have used other libraries in Swift or other languages, how do you feel that this proposal compares to those?
  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Konrad 'ktoso' Malawski
Review Manager


Overall +1. My only issue with the package is that it's very hard to find any examples of usage. The documentation link in package's (which itself only has a few badges but no detailed description of the package) leads the main Vapor documentation page, through which to my knowledge there's no way to navigate to SQLiteNIO docs. The only examples of usage I could find so far is the SSWG proposal itself, which I discovered thanks to this proposal thread.

While there is a DocC bundle linked from Swift Package Index, that's the only place it's linked from, but I couldn't find any links to it from Vapor docs or from the package repository.

Additionally, the DocC bundle seems quite empty. A lot of types like SQLiteDatabase have no doc comments, so it's unclear how it's supposed to be used, again with only examples of usage I could find in this SSWG proposal.

Yes, for sure. SQLite is a quite important database engine for both clients and servers.

Absolutely, it's great to have a standard recommended solution for this use case.

I feel that documentation is a weak spot on the Swift side. I've previously used SQLite libraries for Node.js and those have extensive and polished API reference, tutorials, and usage examples. We're far from that unfortunately.

I'm a user of this library and I've read the proposal.


I agree the README (and DocC bundle) need some improvements, similar to how MySQLNIO and SQLiteNIO have been updated before their approvals. We should probably do something similar, especially if we're going for incubating/graduated level

1 Like

Hello everyone,
I'm happy to announce the SSWG has unanimously voted to accept this proposal into Sandbox maturity level! :tada:

The project(s) fulfill all requirements of the Sandbox level, including multiple maintainers and an active stream of development, good CI and adoption of concurrency features.

We'll add the project to the list of SSWG endorsed projects shortly.