Kurozora/kurozorakit-android
Simple to use framework for interacting with the Kurozora API for Android
The magic behind Kurozora apps for Android
KurozoraKit

KurozoraKit lets users manage their anime, manga, games and music library and access many other services from your app. When users provide permission to access their Kurozora account, they can use your app to share anime, add it to their library, and discover any of the thousands of content in the Kurozora catalog. If your app detects that the user is not yet a Kurozora member, you can offer them to create an account within your app.
KurozoraKit is designed to be:
-
🛠 Intuitive: KurozoraKit is built with Kotlin, a concise and multiplatform programming language.
-
🧵 Asynchronous: By utilizing the power of Kotlin Coroutines, KurozoraKit is more readable and less prone to errors like data races and deadlocks by design.
-
✨ Magical: The kit is carefully designed to work as efficient and reliable as you would expect it to.
-
⚙️ Reliable: Built for the best API. The way KurozoraKit works together with the Kurozora API is truly otherworldly.
Requirements
KurozoraKit has been tested to work on Android 15.0+. It also works best with Kotlin 5.0+
To use KurozoraKit in your project, you need to install it first.
Installation
Gradle
KurozoraKit is also available through Gradle Build Tool. To install it, simply add the package to your build.gradle.kts file:
dependencies {
implementation("app.kurozora:kurozorakit:1.0.0")
}Usage
KurozoraKit can be initialized as simply as:
val kurozoraKit = KurozoraKit.Builder()
.apiKey("your_api_key")
.userAgent(UserAgent(appName = "your_app_name", appID = "com.username.kurozora", platformName = "your_platform_name", platformVersion = "your_platform_version"))
.build()KurozoraKit allows you to set your own API endpoint. For example, if you have a custom API endpoint for debugging purposes, you can set it like this:
val kurozoraKit = KurozoraKit.Builder()
.apiEndpoint(KurozoraApi.V1.baseUrl)
.apiKey("your_api_key")
.userAgent(UserAgent(appName = "your_app_name", appID = "com.username.kurozora", platformName = "your_platform_name", platformVersion = "your_platform_version"))
.build()KurozoraKit also accepts a TokenProvider object to enable and manage user accounts. For example, you can do something like the following:
// Prepare token provider.
object KurozoraTokenProvider: TokenProvider {
val accountManager = GlobalContext.get().get<AccountManager>()
override suspend fun saveToken(user: AccountUser) {
accountManager.addAccount(user)
}
override suspend fun getToken(): String? {
return accountManager.activeAccount.value?.token
}
}
// Pass KurozoraTokenProvider
val kurozoraKit = KurozoraKit.Builder()
.apiEndpoint(KurozoraApi.V1.baseUrl)
.apiKey("your_api_key")
.userAgent(UserAgent(appName = "your_app_name", appID = "com.username.kurozora", platformName = "your_platform_name", platformVersion = "your_platform_version"))
.tokenProvider(KurozoraTokenProvider)
.platform(getPlatform())
.build()An example of AccountManager can be found on the Kurozora Android repo.
After setting up KurozoraKit you can use an API by calling its own method. For example, to get the explore page data, you do the following:
val genreId = "1"
val kurozoraKit = KurozoraKit.explore()
.getExplore(genreId = genreId)
.onSuccess { res ->
// Handle success case…
}Contributing
Read the Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.
Security
Read our Security Policy to learn about reporting security issues.
Getting in Touch
If you have any questions or just want to say hi, join the Kurozora Discord and drop a message on the #development channel.
Code of Conduct
This project has a Code of Conduct. By interacting with this repository, or community you agree to abide by its terms.
More by Kurozora
- KurozoraKit (Swift) — Simple to use framework for interacting with the Kurozora API on Apple platforms
- Kurozora Android App — Android client app
- Kurozora Discord Bot — A versatile Discord bot with access to Kurozora services
- Kurozora iOS App — iOS/iPadOS/MacOS client app
- Kurozora Linux App — Linux client app
- Kurozora Web — Home to the Kurozora website and API
- Kurozora Web Extension — Anime, Manga and Game search engine for FireFox and Chrome
License
KurozoraKit is an Open Source project covered by the MIT License.
