-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added a databases category to the Packages page #622
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -488,9 +488,84 @@ categories: | |
to log details to the console (and optionally a file) with additional information | ||
such as date, function name, and line number. | ||
owner: Dave Wood | ||
- name: Database access | ||
slug: database | ||
brief: We all need to store data somewhere! Find everything from local SQLite databases | ||
to connections to server-based databases from your Swift on server apps. | ||
description: | ||
When looking for something as an alternative to [Core Data](https://developer.apple.com/documentation/coredata) | ||
or [SwiftData](https://developer.apple.com/xcode/swiftdata/), look no further | ||
than this list of popular database packages. | ||
more: | ||
title: More database access packages | ||
url: https://swiftpackageindex.com/keywords/database | ||
packages: | ||
- name: GRDB | ||
description: GRDB is a SQLite toolkit for application development. It provides | ||
SQL generation, database observation, robust concurrency, migrations, and raw | ||
SQL access. | ||
owner: "Gwendal Rou\xE9" | ||
swift_compatibility: 5.7+ | ||
platform_compatibility: | ||
- Apple | ||
- Linux | ||
platform_compatibility_tooltip: Apple (macOS) and Linux | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is tangential to the PR since it's also the case on the SPI page, but why is iOS/tvOS not listed for GRDB even though they are supported by the library? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good question @kaishin 👍 I think it's because the GRDB repository comes with 2 Xcode projects - this trips up SPI: https://swiftpackageindex.com/groue/GRDB.swift/builds @daveverwer, do you think you can manually update the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Unfortunately manually updating this is not going to be possible. The data files that drive these pages are automatically generated from SPI data and so every time that tool gets run (which happens monthly) it would overwrite any manual changes. I'd much rather get this fixed on the SPI side, so that it's not only correct here but also on SPI. I vaguely remember this coming up before, did we already go through troubleshooting the builds? If you want to open a new "Incorrect package data" issue and we can look at what's causing the failures. We do have some options you can specify in your There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sure, Dave. It was SwiftPackageIndex/SwiftPackageIndex-Server#1890 I don't know if SwiftPackageIndex/SwiftPackageIndex-Server#1915 was settled or not, and if I should do something to my There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @daveverwer, do you think I have something else to do on my side so that the package metadata is fixed, and users don't think GRDB only works on a subset of the actually supported platforms? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Apologies for not getting back to you on this. @finestructure and I chatted about the compatibility issue and while we do still plan to add explicit support for multiple projects, unfortunately, the change needed touches multiple parts of our application and isn't something we can rush through for this. There is a potential workaround in your original issue. We understand that adopting a workaround like this is not ideal, and of course, we will get to SwiftPackageIndex/SwiftPackageIndex-Server#1915 as soon as possible, but I can't say when as we have not yet had reports of any other packages in need of this feature. I’m sorry I don’t have better news! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I can't move the extra Xcode project because this would be breaking change for users. I can't gather all targets in a single Xcode project (in a future major release) because one of the projects is used for advances use cases (custom SQLite builds) and depends on a submodule that not everybody clones. When all targets are gathered in a single project, the missing submodule creates an awful ton of errors and warnings in Xcode - not something I want users to see.
Well understood, @daveverwer, and thank you for your investigation of the topic. I can only appeal to your generosity, or the itch created by this wrong meta-data. If GRDB is well-appreciated, it is also because it goes far in servicing the various needs of its users - hence the two Xcode projects. My priority is and will remain GRDB users. |
||
license: MIT | ||
url: https://swiftpackageindex.com/groue/GRDB.swift | ||
- name: MongoKitten | ||
description: MongoKitten is a fast, pure Swift MongoDB driver built for Server | ||
Side Swift. It supports both MongoDB in server and embedded environments and | ||
can be used with Vapor or Hummingbird. | ||
owner: Orlandos Technologies - OpenSource | ||
swift_compatibility: 5.7+ | ||
platform_compatibility: | ||
- Apple | ||
- Linux | ||
platform_compatibility_tooltip: Apple (iOS, macOS, visionOS) and Linux | ||
license: MIT | ||
url: https://swiftpackageindex.com/orlandos-nl/MongoKitten | ||
- name: Realm | ||
description: Realm is a mobile database for iOS, macOS, tvOS, and watchOS. It | ||
offers an object-oriented data model, real-time syncing, and encryption. It | ||
integrates with SwiftUI and supports various installation methods. | ||
owner: Realm | ||
swift_compatibility: 5.7+ | ||
platform_compatibility: | ||
- Apple | ||
platform_compatibility_tooltip: Apple (iOS, macOS, visionOS, watchOS, tvOS) | ||
license: Apache 2.0 | ||
url: https://swiftpackageindex.com/realm/realm-swift | ||
- name: fluent | ||
description: Fluent helps you work with databases, providing a high-level, type-safe | ||
API for querying and manipulating data in Vapor apps. | ||
owner: Vapor | ||
swift_compatibility: 5.7+ | ||
platform_compatibility: | ||
- Apple | ||
- Linux | ||
platform_compatibility_tooltip: Apple (iOS, macOS, visionOS, watchOS, tvOS) and | ||
Linux | ||
license: MIT | ||
url: https://swiftpackageindex.com/vapor/fluent | ||
- name: USearch | ||
description: USearch enhances vector and upcoming text similarity search with | ||
faster, smaller, and broadly compatible implementations. It offers extensibility, | ||
fewer dependencies, and supports multiple programming languages. | ||
owner: Unum | ||
swift_compatibility: 5.7+ | ||
platform_compatibility: | ||
- Apple | ||
platform_compatibility_tooltip: Apple (iOS, macOS, visionOS, watchOS, tvOS) | ||
license: Apache 2.0 | ||
url: https://swiftpackageindex.com/unum-cloud/usearch | ||
- name: RxRealm | ||
description: RxRealm provides reactive extensions for RealmSwift, allowing you | ||
to observe and manipulate objects and collections of objects, bind to table | ||
and collection views, and write transactions. | ||
owner: RxSwift Community | ||
swift_compatibility: 5.7+ | ||
platform_compatibility: | ||
- Apple | ||
platform_compatibility_tooltip: Apple (iOS, macOS, watchOS, tvOS) | ||
license: MIT | ||
url: https://swiftpackageindex.com/DaveWoodCom/XCGLogger |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nit - WDYT