Kotlin SDK for Jellyfin, supporting Android and JVM targets
Go to file
Niels van Velzen fec48e1361
Some checks failed
Repo / Label merge conflict / Triage (push) Has been cancelled
SDK / Documentation / Lint (push) Has been cancelled
SDK / Documentation / Build Vitepress (push) Has been cancelled
SDK / Documentation / Build Dokka (push) Has been cancelled
SDK / Lint / Lint (push) Has been cancelled
SDK / Publish / Publish (push) Has been cancelled
SDK / Test / Test (17) (push) Has been cancelled
SDK / Test / Test (21) (push) Has been cancelled
SDK / Test / Validate binary compatibility (push) Has been cancelled
SDK / Test / Verify OpenAPI sources (push) Has been cancelled
SDK / Unstable branch / Update (push) Has been cancelled
SDK / Documentation / Deploy (push) Has been cancelled
Update API to 10.10.0-unstable.20240926134655
2024-10-01 15:42:40 +02:00
.github/workflows Update CI dependencies 2024-09-30 18:46:28 +02:00
buildSrc Lower Java toolchain version to 8 (#865) 2024-02-04 16:08:44 +01:00
docs Update documentation for 1.5 2024-06-02 12:11:37 +02:00
gradle Update dependency gradle to v8.10.2 2024-09-24 08:46:07 +02:00
jellyfin-api Update API to 10.10.0-unstable.20240926134655 2024-10-01 15:42:40 +02:00
jellyfin-api-ktor Remove deprecated setters from ApiClient 2024-09-23 07:43:51 +02:00
jellyfin-core Bump minimumVersion to 10.10 2024-09-23 07:44:02 +02:00
jellyfin-model Update API to 10.10.0-unstable.20240926134655 2024-10-01 15:42:40 +02:00
openapi-generator Update code for Clikt 5 2024-09-22 10:33:25 +02:00
samples Remove deprecated setters from ApiClient 2024-09-23 07:43:51 +02:00
testutils Lower Java toolchain version to 8 (#865) 2024-02-04 16:08:44 +01:00
.editorconfig Use Vitepress to build markdown documentation 2022-08-28 14:01:52 +02:00
.gitattributes Add .api files 2021-04-03 10:59:54 +02:00
.gitignore Add .kotlin directory to gitignore 2024-08-28 22:11:13 +02:00
.markdownlint.yaml Add markdown linting to CI 2022-09-06 23:06:15 +02:00
android-lint.xml Miscellaneous build script changes (#289) 2021-07-08 23:03:33 +02:00
build.gradle.kts Remove Dokka from unpublished modules 2024-02-04 14:57:51 +01:00
CODEOWNERS Add CODEOWNERS file 2021-03-18 22:08:46 +01:00
detekt.yaml Disable wildcard imports (#344) 2021-12-23 13:41:22 +01:00
gradle.properties Migrate to new Kotlin Multiplatform source set layout 2022-12-28 20:11:44 +01:00
gradlew Update dependency gradle to v8.9 2024-07-13 13:29:16 +02:00
gradlew.bat Update dependency gradle to v8.9 2024-07-13 13:29:16 +02:00
LICENSE Update license to LGPL 3.0 2020-09-13 17:08:50 +02:00
openapi.json Update API to 10.10.0-unstable.20240926134655 2024-10-01 15:42:40 +02:00
package-lock.json Update dependency vitepress to v1.3.4 2024-09-22 10:01:27 +02:00
package.json Update dependency vitepress to v1.3.4 2024-09-22 10:01:27 +02:00
README.md Fix all markdown linter issues 2022-09-06 23:06:15 +02:00
renovate.json Enable Renovate dependency dashboard 2023-11-04 17:12:01 +01:00
settings.gradle.kts Split KtorClient to separate module 2023-05-09 13:04:02 +02:00

Jellyfin Kotlin SDK

Part of the Jellyfin Project


Logo Banner

LGPL 3.0 license Current Release Maven Central Release
Donate Chat on Matrix Join our Subreddit Release RSS Feed Master Commits RSS Feed


The Kotlin SDK for Jellyfin implements the Jellyfin API to easily access servers. It is currently available for the JVM and Android. Developer documentation is available at kotlin-sdk.jellyfin.org.

Contributing

We welcome contributions to the SDK. Open an issue or ask in our official chats if you plan to make bigger changes.

To validate binary compatibility we use the Binary compatibility validator tool from the Kotlin team. When creating pull requests the api files need to be updated. Use the apiDump Gradle task to generate the api files. Add the changes from this command to a separate commit to make the review process easier.

Testing

The SDK includes two example projects, the kotlin-cli and java-cli, to test various larger functions like server discovery. Besides that we use unit tests to test smaller components, these can be executed with the allTests Gradle task. We recommend adding new tests for changes to the code.

Testing in app

It is also possible to test a new version of the SDK in your own app. Use the publishToMavenLocal Gradle task to publish the SDK to your local system, afterwards you can add mavenLocal() as repository and use the latest-SNAPSHOT version for the SDK. This process is simplified in our official apps by adding an option to the gradle.properties file.