biblekit-kmp
0.2.1indexedEnables cross-platform Bible-related functionality with powerful verse search and database access. Integrates seamlessly with iOS, macOS, and Android, utilizing a shared database schema.
Enables cross-platform Bible-related functionality with powerful verse search and database access. Integrates seamlessly with iOS, macOS, and Android, utilizing a shared database schema.
BibleKit KMP is a Kotlin Multiplatform library that provides Bible-related functionality for iOS, macOS, and Android platforms.
dependencies {
implementation("com.aarkaystudio.biblekit:biblekit:0.2.1")
}
Add the following to your Package.swift file:
dependencies: [
.package(url: "https://github.com/VerseWell/biblekit-kmp.git", from: "0.2.1")
]
If you prefer using native Swift instead of Kotlin Multiplatform, we maintain a dedicated Swift library alongside this one:
As a Swift developer first, I am actively maintaining both libraries. This KMP version allows me to explore cross-platform development potential while providing a solution for teams that need Android support. Both libraries provide the same core functionality, so choose the one that best fits your project's architecture and team preferences.
[!IMPORTANT] Your app must include a file named
bible.dbin its bundle. This SQLite database file contains the Bible content and is required for the library to function. You can find:
- Example database file: bible.db (World English Bible with )
// Copy bible.db from assets to app directory if it doesn't exist
val dbFile = File(applicationContext.filesDir, "bible.db")
if (!dbFile.exists()) {
applicationContext.assets.open("bible.db").use { input ->
FileOutputStream(dbFile).use { output ->
input.copyTo(output)
}
}
}
// Initialize with the database file path
val provider = BibleProvider.create(
dbFactory = BibleDatabaseFactory(context = applicationContext),
filePath = dbFile.absolutePath
)
// Search
val results = provider.search(
query = "love",
verseIDs = null
)
// Get the bible.db path from the app bundle
guard let dbPath = Bundle.main.path(forResource: "bible", ofType: ) {
()
}
provider .companion.create(
dbFactory: (),
filePath: dbPath
)
results provider.search(
query: ,
verseIDs:
)
For detailed API documentation, visit BibleKit KMP Documentation
The example database included with BibleKit uses the World English Bible translation (Protestant, US English) with modifications.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
You can replace the bible.db file with your preferred translation as long as it follows the same database schema.
Surfaced from shared tags and platforms — no rankings paid for.