Skip to content

Kotlin Multiplatform Libraries. Welcome PR if you find or create new Kotlin Multiplatform Library.

Notifications You must be signed in to change notification settings

estivensh/Kotlin-Multiplatform-Libraries

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Kotlin Multiplatform Libraries

Libraries

Network

Http

  • Ktor - Framework for quickly creating connected applications in Kotlin with minimal effort
    badge badge badge badge badge badge badge

  • ktor-client-oauth-feature - Ktor Client Feature for handling OAuth token refreshes
    badge badge

  • kmp-tor - Embed Tor into your application.
    badge badge

  • Ktorfit - HTTP client / Kotlin Symbol Processor for Kotlin Multiplatform (Js, Jvm, Android, Native, iOS) using KSP and Ktor clients inspired by Retrofit
    badge badge badge badge badge badge badge

  • fuel - The easiest HTTP networking library for Kotlin backed by Kotlinx Coroutines.
    badge badge

  • rsocket-kotlin - RSocket Kotlin multi-platform implementation based on kotlinx.coroutines and Ktor.
    badge badge badge badge badge badge badge badge badge

  • kotliny.network - Simple, powerful and lightweight Kotlin Multiplatform Network Client.
    badge badge badge badge badge

GraphQL

  • apollo - Multiplatform official GraphQL client.
    badge badge badge

  • suparnatural-graphql - Strict type safe GraphQL client with support for composable links.
    badge badge badge

  • kgql - GraphQL Document wrapper generator for Kotlin Multiplatform Project and Android

Real-time communication

JSON-RPC

Stomp

  • krossbow - A Kotlin multiplatform coroutine-based STOMP client over websockets
    badge badge badge

Utility

  • Connectivity status - Monitor the internet connection status of your device on Android and iOS.
    badge badge

  • Highlights - Kotlin Multiplatform syntax highlighting engine.
    badge badge badge badge badge badge badge badge

Authentication

  • cognito-idp - Lightweight AWS Cognito Identity Provider client for Kotlin Multiplatform projects.
    badge badge badge badge

Repository

  • Store - A Kotlin Multiplatform library for building network-resilient applications.
    badge badge badge badge

Serializer

  • kotlinx.serialization (official) - Kotlin multiplatform / multi-format serialization
    badge badge badge badge badge badge badge badge badge badge

  • YAKL - A YAML 1.2 processor
    badge badge

  • KoAP - CoAP encoder/decoder with support for UDP (RFC 7252), TCP (RFC 8323) and Observe (RFC 7641).
    badge badge

  • Pbandk - Kotlin code generator and runtime for Protocol Buffers
    badge badge badge badge badge badge

  • Kase64 - Base64 encoder/decoder for Kotlin/Multiplatform. Supports standard and URL-safe encodings.
    badge badge badge badge badge badge badge badge badge

  • Kex - Hex string encoder/decoder for Kotlin/Multiplatform.
    badge badge badge badge badge badge badge badge badge

  • Ktoml - MPP serialization library (decoder/encoder) for TOML format.
    badge badge badge badge badge badge badge badge badge

  • encoding - Rfc 4648 Section 4-8 compliant encoding (Base 16, 32 Crockford, 32 Default, 32 Hex, 64 Default, 64 Url Safe).
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

  • parcelize - Implement Android Parcelable from common code.
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

Storage

RDB

  • SQLDelight - Generates typesafe Kotlin APIs from SQL.
    badge badge badge badge badge badge badge badge badge

  • SQLiter - Minimal multiplatform sqlite library
    badge badge badge badge badge badge

  • Door - Room for Kotlin Multiplatform.
    badge badge badge

  • AWS - S3 - AWS KMP is an extension to AWS Kotlin Multiplatform for JVM, Android and iOS.
    badge badge badge

NoSQL

  • Realm - Kotlin Multiplatform and Android SDK for the Realm Mobile Database: Build Better Apps Faster.
    badge badge

  • Kotbase - Kotlin Multiplatform library for Couchbase Lite—a lightweight, embedded, syncable, NoSQL database
    badge badge badge badge badge badge

  • Kodein-DB - Embedded NoSQL database
    badge badge badge badge badge badge badge

  • Couchbaselite - Kotlin Multiplatform wrapper for the Couchbase Lite Mobile Database.
    badge badge

KVS

  • multiplatform-settings - A Kotlin Multiplatform library for saving simple key-value data.
    badge badge badge badge badge badge badge badge badge

  • KVault - Secure key-value storage for Kotlin Multiplatform projects.
    badge badge

  • Kissme - Kissme: Kotlin Secure Storage Multiplatform
    badge badge

  • Multiplatform-Preferences - Kotlin Multi Platform Preferences, for android an ios : SharedPreferences & NSUserDefault.
    badge badge

  • kds - Multiplatform coroutine-based kotlin library for saving Serializables with kotlinx.serialization and delegates.
    badge badge badge badge

  • Kottage - Kotlin Multiplatform Key-Value Store Local Cache Storage for Single Source of Truth.
    badge badge badge badge badge badge badge badge badge

  • Universal-Cache - Kotlin Flow caching and request sharing. Main idea: don't request data more times than it's needed.
    badge badge badge

  • KCrypt - Kotlin encryption key generator and encrypted key-value storage.
    badge badge

FILE

  • okio - A modern I/O library for Android, Java, and Kotlin Multiplatform.
    badge badge badge badge

  • suparnatural-fs - Kotlin Multi Platform File System access library for iOS and Android.
    badge badge

  • suparnatural-cache - A superfast, thread safe in-memory cache with configurable hashing schemes backed by persistent stores with blocking/non-blocking I/O.
    badge badge

  • KStore - A tiny Kotlin multiplatform library that assists in saving and restoring objects to and from disk using kotlinx.coroutines, kotlinx.serialisation and okio.
    badge badge badge badge badge badge badge badge badge badge

File System

  • Kfswatch - Kotlin Multiplatform File System Watcher
    badge badge badge badge badge badge badge badge badge

DI

  • Kodein-DI - Painless Kotlin Dependency Injection
    badge badge badge badge badge badge badge badge badge badge

  • Koin - A pragmatic lightweight dependency injection framework for Kotlin
    badge badge badge badge badge badge badge badge badge

  • PopKorn - Forget about modules and components. DI can be simple.
    badge badge badge badge badge

  • kotlin-inject - Dependency injection lib for kotlin.
    badge badge badge badge badge badge badge badge

  • Koject - DI Container library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge

Image

  • korim - Kotlin cORoutines IMaging, Bitmap and Vector graphics for Multiplatform Kotlin
    badge badge badge badge badge badge badge badge badge

  • Kraphviz - Graphviz for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

  • Kim - Kotlin Image Metadata - Kotlin Multiplatform library for reading and writing image metadata.
    badge badge badge badge

  • peekaboo - Single & Multiple Image Selection and Maximum Image Count Setting Library for Compose Multiplatform (Android & iOS) badge badge

  • KaptureX - Camera and Video Library for Kotlin Multiplatform. 📸 badge badge

Audio

  • korau - Pure Kotlin WAV, MP3 and OGG vorbis decoders
    badge badge badge badge badge badge badge badge badge

Bluetooth

  • Blue-Falcon - A Bluetooth kotlin multiplatform "Cross-Platform" library for iOS and Android
    badge badge badge

  • Kable - Simple Coroutines-powered API for interacting with Bluetooth Low Energy devices.
    badge badge badge badge

Reactive

Rx

  • Reaktive - Kotlin multi-platform implementation of Reactive Extensions
    badge badge badge badge badge badge badge badge badge

  • RxCommon - Multiplatform implementation of ReactiveX providing a common way to build one set of business logic for native, iOS, Javascript, Android, JVM, and other platforms
    badge badge badge badge

LiveData(Android)

Utility

Asynchronous

  • coroutine (official) - Support for Kotlin coroutine.
    badge badge badge badge badge badge badge badge badge

  • suparnatural-concurrency - Unified APIs such as Workers, Schedulers for cross-platform multithreading on iOS and Android.
    badge badge

  • Koru - Coroutine wrappers for Kotlin Native generated from annotations.
    badge badge badge badge badge badge

  • KMP-NativeCoroutines - Library to use Kotlin Coroutines from Swift code in KMP apps.
    badge badge badge badge

  • FlowExt - Kotlinx Coroutines Flow Extensions. Extensions to the Kotlin Flow library.
    badge badge badge badge badge badge badge badge badge

Date, Time

  • kotlinx-datetime - Official date and time library
    badge badge badge badge badge badge badge badge badge

  • klock - Multiplatform Date and time library for Kotlin
    badge badge badge badge badge badge badge badge badge

  • island-time - A Kotlin Multiplatform library for working with dates and times
    badge badge badge badge badge badge badge

  • time - Type-safe time calculations in Kotlin, on any platform
    badge badge badge badge badge badge

  • time - Type-safe time periods for the Kotlinx-datetime multiplatform date/time library
    badge badge badge badge badge badge badge

  • fluid-time - Kotlin multiplatform date & time library
    badge badge badge

  • kcron - Kotlin multiplatform Cron library
    badge badge badge badge

  • Kronos Multiplatform - Network Time Protocol (NTP) library
    badge badge badge badge badge badge

Semantic Versioning

  • SemVer-KMP - A Kotlin library for Semantic Versioning with ranges and other features.
    badge badge badge badge badge

  • kotlin-semver - Semantic Versioning library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge badge badge badge

EventBus

  • Multiplatform-Bus - Kotlin event-bus compatible with Android & native iOS.
    badge badge

  • Event4k - MultiPlatform Kotlin EventBus library - simple, bidirectional, concurrent.
    badge badge badge badge badge badge badge badge badge badge badge badge badge

  • kotlin-channel-event-bus - A Kotlin Multiplatform library that provides a simple event bus implementation using KotlinX Coroutines Channels. Multi-keys, multi-producers, single-consumer and thread-safe event bus backed by kotlinx.coroutines.channels.Channels.
    badge badge badge badge badge badge badge badge badge badge badge badge

Number

Hashing

  • kotlinx-murmurhash - Multiplatform library for MurmurHash, a non-cryptographic hash function for general hash-based lookup focused on simplicity and performance.
    badge badge badge badge badge badge badge ![badge][badge-macos] badge badge

Cryptography

String Utils

  • FuzzyWuzzy-Kotlin - Fuzzy string matching on collections. Port of python & java library.

badge badge badge badge badge badge badge badge

  • kasechange - Multiplatform Kotlin library to convert strings between various case formats including Camel Case, Snake Case, Pascal Case and Kebab Case.
    badge badge badge badge badge badge badge badge badge badge

  • kotlin-multiplatform-diff - Multiplatform Kotlin library for calculating text differences.
    badge badge badge badge badge

  • doistx-normalize -- Kotlin Multiplatform library for string unicode normalization (UAX #15).
    badge badge badge badge badge badge badge badge badge

  • KeepLink -- Kotlin multiplatform deep-link definition, parsing and creation library.
    badge badge badge badge

Input/Output

  • keyboard-mouse-kt - Multiplatform Kotlin library for interacting with global keyboard and mouse events and states.
    badge badge badge badge

Analytics

Atomic

  • AtomicFu - The idiomatic way to use atomic operations in Kotlin
    badge badge badge badge badge badge badge badge badge

UUID

  • uuid - Kotlin Multiplatform UUID
    badge badge badge badge badge badge badge

  • kotlinx-uuid - kotlinx-uuid is a multiplatform (MPP) Kotlin library introducing support for UUID.
    badge badge badge badge badge badge badge

Paging

Kotlin/Native

  • Stately - The library is set of multithreaded collection classes that will allow multithreaded mutation in Kotlin/Native.
    badge badge badge badge badge badge

  • coroutineworker - Kotlin Coroutine-based workers for native
    badge badge badge badge

Units

  • Measured - Intuitive, type-safe units of measure.
    badge badge

  • KotlinCrypto/endians - Utils for converting Short, Int, Long to/from BigEndian and LittleEndian bytes.
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

Monads

  • Kotlin utilities - Scala utility types: Option, Either, Try for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge

  • kotlin-result - A multiplatform Result monad for modelling success or failure operations.
    badge badge badge badge badge badge badge badge badge

  • ApiResult - A monad for declarative & functional error-handling with a rich DSL.
    badge badge badge badge badge badge badge badge badge badge

  • Résultat - A fork of Kotlin Result with a loading state.
    badge badge badge badge badge badge badge badge

  • value-clazz - Functionally equivalent to a Kotlin value class that implements an interface, but inheritance based and compiles to platform code.
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

WebAssembly

  • ktmpwasm - A WebAssembly interpreter for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge badge badge badge badge

Metadata

Parsing

  • Ksoup - HTML & XML Parser (Jsoup Alternative)
    badge badge badge badge badge badge badge badge badge

  • RSS-Parser - A Kotlin Multiplatform library to parse a RSS Feed
    badge badge badge badge

Debug

Logging

  • Napier - Logging library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge

  • KmLogging - High performance, composable multiplatform logging.
    badge badge badge badge badge badge badge

  • klogger - Logging library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge

  • Multiplatform-Log - Logging library for Kotlin Multiplatform.
    badge badge

  • Kermit - Kotlin Multiplatform logging utility with composable log outputs and prebuilt loggers.
    badge badge badge badge badge badge badge

  • Log4k - Logging library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge

  • Cabret-Log - Method call logging for Kotlin Multiplatform
    badge badge badge badge badge

  • KmmAnkoLogger - fork of the AnkoLogger for use it with Kotlin Multiplatform Mobile
    badge badge badge

Test

  • assertk - Assertions for kotlin inspired by assertj.
    badge badge badge badge badge badge badge badge badge

  • Atrium - A multiplatform assertion library for Kotlin.
    badge badge badge

  • konform - Portable validations.
    badge badge

  • kotest-assertions - Multiplatform assertions and test utilities.
    badge badge badge badge badge badge badge badge badge

  • kotest-framework - Multiplatform test framework for Kotlin.
    badge badge

  • mockk - Mocking library for test.
    badge badge

  • Mockative - Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP)
    badge badge badge badge badge badge badge

  • MocKMP - A Kotlin/Multiplatform Kotlin Symbol Processor that generates Mocks & Fakes.
    badge badge badge badge

  • Mokkery - Mocking library for Kotlin Multiplatform based on compiler plugin.
    badge badge badge badge badge badge badge badge badge

  • kotlinx-resources - Multiplatform library for reading resources in tests.
    badge badge badge badge badge badge badge badge badge badge

  • Truthish - Multiplatform library with a testing API inspired by Google Truth.
    badge badge badge badge badge badge badge

  • testmints - Lightweight test semantic-sugar, to improve readability.
    badge badge badge badge badge badge badge

  • jsmints - A suite of libraries and gradle plugins for working with Kotlin JS, with a focus on testing and version updating.
    badge

Annotation Processor

  • MpApt - Kotlin Native/JS/JVM Annotation Processor library
    badge badge badge badge badge badge

  • kotlin-native-suspend-function-callback - Kotlin Multiplatform compiler plugin to generate a callback implementation for suspended functions so they are visible from Kotlin Native
    badge badge badge

  • trckr - KSP processer that simplifies the collection of analytics
    badge badge badge badge badge badge badge badge

  • KMP-ComposeUIViewController - KSP library for generating ComposeUIViewController and UIViewControllerRepresentable files when using Compose Multiplatform for iOS
    badge badge

GUI

  • moko-widgets - Declarative UI and screens management in common code for mobile (android & ios) Kotlin Multiplatform development
    badge badge

  • kgl - This library provides a thin OOP wrapper with DSLs to make programming with vulkan easier.
    badge badge badge badge badge

  • kotlin-libui - Kotlin/Native interop to libui: a portable GUI library
    badge badge badge

  • kotlin-material-ui - Kotlin Wrapper Library of Material-UI
    badge

  • muirwik - Kotlin Wrapper Library of Material-UI
    badge

  • compose-macos-theme - Multiplatform MacOS theme written in Compose UI
    badge badge

  • componentbox - A Kotlin multiplatform library for building dynamic server-driven UI
    badge badge badge badge

  • kontrol - A Kotlin Multiplatform library for creating a debugging menu
    badge badge

  • koala-plot - A Compose Multiplatform based charting and plotting library written in Kotlin
    badge badge badge

  • Material Theme Preferences - Switching Dark/Light Material themes on Compose
    badge badge badge badge badge badge

  • DrawBox - The first multiplatform library to draw anything on canvas.
    badge badge badge badge

  • typist-cmp - A Highly Customisable Typing Animation Library for Compose Multiplatform (Android & iOS)
    badge badge

  • KodeView - Kotlin Multiplatform syntax highlighting views.
    badge badge badge badge badge badge badge badge

Command Line Interface

  • Clikt - Multiplatform command line interface parsing for Kotlin
    badge badge badge badge badge

  • Command_Parser - Multiplatform command parser using kotlinx.coroutines
    badge badge badge badge

  • Kotter - Multiplatform library for Kotlin command-line applications with support for text styling, animations, timers, and input.
    badge badge badge badge

  • Mordant - Multiplatform text styling for Kotlin command-line applications
    badge badge badge badge badge

Firebase

  • Firebase Kotlin SDK - Firebase SDK for Kotlin Multiplatform projects (Firebase Authentication, Realtime Database, Cloud Firestore, Cloud Functions, Cloud Messaging and Cloud Storage).
    badge badge badge

Architecture

  • kompass - Kotlin Multiplatform Router for Android and iOS

  • Decompose - Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing functionality and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.), inspired by Badoos RIBs fork of the Uber RIBs framework.
    badge badge badge badge badge badge badge

  • Decompose-Router - Compose Multiplatform navigation library that leverage Decompose to create an API inspired by Conductor
    badge badge badge badge badge badge badge

  • oolong - MVU for Kotlin Multiplatform

  • moko-mvvm - MVVM architecture components for mobile multiplatform with LiveData (iOS and Android)
    badge badge

  • MVIKotlin - MVI framework for Kotlin Multiplatform.
    badge badge badge badge badge badge badge

  • Orbit MVI - MVI framework for Kotlin Multiplatform.
    badge badge

  • ReduxKotlin - Redux implementation for Kotlin (supports multiplatform JVM, native, JS, WASM)
    badge badge badge badge badge badge badge badge

  • FlowMVI - Plugin-based Kotlin Multiplatform MVI framework.
    badge badge badge badge badge badge badge badge badge badge

  • ReKamp - Port of ReKotlin to Kotlin Multiplatform, which corresponds to ReKotlin/1.0.4.
    badge badge badge

  • Kaskade - Simplifying UI state management in Kotlin Multiplatform.
    badge badge badge badge

  • Flywheel - A simple and predictable state management library inspired by Redux and a few more. Fully built on top of coroutines using the concept of actors.
    badge badge badge badge badge badge badge badge badge

  • KStateMachine - KStateMachine is a Kotlin DSL library for creating state machines and hierarchical state machines (statecharts).
    badge badge badge

  • CommonStateMachine - CommonStateMachine is a small non-opinionated library to implement MVI with the state-machine pattern.
    badge badge badge badge

  • Premo — Presentation Model (aka View Model) and Navigation. Focus on writing logic instead of solving common and boring UI related issues: lifecycle, persistence, navigation, etc.
    badge badge badge badge

  • multiplatform-viewmodel — Shared ViewModel in Kotlin Multiplatform
    badge badge badge badge badge

  • Direkt - Kotlin Multiplatform Router for Android, iOS, Js
    badge badge badge

  • compose_bloc - State Management and Navigation Library for Jetpack Compose and Compose Multiplatform.
    badge badge badge badge badge

  • Ballast - Opinionated Application State Management framework for Kotlin Multiplatform

  • Kotlin Bloc - A simple, predictable and composable UI framework for Kotlin Multiplatform
    badge badge badge

  • kmp-viewmodel - Shared ViewModel in Kotlin Multiplatform - A Kotlin Multiplatform library that provides shared MVVM for UI applications. Components are lifecycle-aware on Android.
    badge badge badge badge badge badge badge

  • Blackbox - A lightweight framework that includes a set of architecture tools and approaches for building scalable, fully multiplatform applications (100% shared logic). Streamlines project modularization through the separation into independent parts and provides features like lifecycle-aware components, declarative navigation, and constructor-based DI.
    badge badge badge badge badge

Project templates

  • moko-template - Template project of a Mobile (Android & iOS) Kotlin MultiPlatform project with the MOKO libraries and modularized architecture
    badge badge

  • KMMT - KMMT is a Multi-Module KMM based project template designed to simplify the KMM development. It uses a simplified approach that can be shared both in android and iOS easily. This template include network module, persistence module, resource module, analytics module ( with ios native library integration), domain module, presenter module etc.
    badge badge

Docs

Build & Development Tools

Artificial Intelligence

Symbolic AI

  • 2P-Kt - A Kotlin-based, multi-platform, open ecosystem for symbolic artificial intelligence (AI) and logic programming (LP), currently supporting many facilities for LP and a full-fledged, extensible, ISO-standard Prolog solver.
    badge badge badge

  • Y-Chat - Y—Chat is a Kotlin Multiplatform (KMP) project that provides a simple API for integrating the powerful ChatGPT language model developed by OpenAI into mobile applications running on multi platforms.
    badge badge badge badge

Social

tgbotapi

  • tgbotapi - Strongly-typed API wrapper for Telegram Bot API with fully covered API and a lot of additional DSLs on top of base API.

badge badgebadge

Math

  • Multiplatform expressions evaluator - Runtime infix expressions evaluator.
    badge badge badge badge badge badge badge badge badge

  • Multik - Multiplatform library for Kotlin, specializing in multidimensional array operations with features like static typing and dimensional consistency, offering high-speed mathematical and arithmetic operations, as well as linear algebra functionalities.
    badge badge badge badge badge badge badge badge

Contribute

Welcome contribute! Please read the contribution guidelines first.

About

Kotlin Multiplatform Libraries. Welcome PR if you find or create new Kotlin Multiplatform Library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published