Browse Kotlin Multiplatform libraries

index data from klibs.io
Sort
Tagasynchronous
mirai2.16.0
14.8k

High-efficiency library for creating QQ bots, supporting various message types (text, images, voice, etc.), group management, and synchronization with other clients. Open source and community-maintained.

AndroidJVM·mamoe·GNU Affero General Public License v3.0
kotlinx.coroutines1.11.0Featured
13.8k1.5k used by

Enables asynchronous programming with lightweight coroutines, offering structured concurrency, cancellation, and integration with various reactive streams and UI frameworks. Includes testing and debugging utilities.

JSJVMNativeWasm·Kotlin·Apache License 2.0
datastore1.3.0-alpha09
6.0k47 used by

Asynchronous, consistent, transactional storage replacing SharedPreferences; supports preferences and typed objects with Proto/JSON serialization, optional Rx adapters, and atomic updates.

AndroidJSJVMNativeWasm·androidx·Apache License 2.0
molecule2.2.0
2.2k8 used by

Creates `StateFlow` or `Flow` streams using declarative logic, separating business and display logic for easier testing and reduced coupling. Simplifies reactive code and supports synchronous initial states.

AndroidJSJVMNativeWasm·cashapp·Apache License 2.0
KMP-NativeCoroutines1.0.4Featured
1.3k10 used by

Enables seamless use of coroutines from Swift in cross-platform apps. Solves cancellation support and generics limitations, generating code for async functions, AsyncStreams, Publishers, or Observables. Customizable naming and scope options.

JSJVMNativeWasm·rickclephas·MIT License
Reaktive2.4.0
1.2k2 used by

Implementation of Reactive Extensions, supporting multiple platforms, schedulers, and interoperability with coroutines and RxJava. Offers `Observable`, `Maybe`, `Single`, `Completable`, various subjects, and sophisticated subscription management through `DisposableScope`.

AndroidJSJVMNativeWasm·badoo·Apache License 2.0
kotlinx-atomicfu0.33.0
1.1k241 used by

Efficiently manages atomic operations by transforming code for various platforms. Supports atomic values, arrays, user-defined extensions, locks, and tracing operations for debugging, ensuring high performance and idiomatic usage.

JSJVMNativeWasm·Kotlin·Other
kotlinx-rpc0.10.3
1.1k1 used by

Facilitates asynchronous Remote Procedure Call (RPC) services with simplified integrations, supporting flow-based data streaming. Offers transport-agnostic design, seamless integration with existing solutions, and customizable serialization protocols.

JSJVMNativeWasm·Kotlin·Apache License 2.0
Stately2.1.0
64570 used by

Facilitates state management with concurrency primitives and thread-safe collections. Includes `Atomic` classes, `Lock`, `ThreadLocal`, `Synchronizable`, and a unique `ThreadRef` for thread ID handling.

JSJVMNativeWasm·touchlab·Apache License 2.0
FlowExt1.0.0
417

Enhances coroutines with additional operators and utilities for reactive programming, replicating features found in frameworks like RxJS, RxJava, and RxSwift. Includes operators for creating, transforming, and managing flows, such as `concat`, `defer`, `interval`, `bufferCount`, and `flatMapFirst`, among others. Ideal for complex asynchronous data streams and error handling.

JSJVMNativeWasm·hoc081098·MIT License
coroutineworker0.8.3
3721 used by

Enables multi-threaded coroutine usage in shared code, facilitating background tasks, asynchronous work, and callback-based operations. Prefers frozen state for object handling across threads.

JSJVMNative·autodesk·Apache License 2.0
Human-Readable1.13.0
2291 used by

Data formatting utilities for converting relative time, duration, file sizes, and numbers into human-readable formats. Supports localization with multiple languages and auto-switching to larger units for precision.

JSJVMNativeWasm·jacobras·MIT License
kmpworkmanager3.0.1
197

A Kotlin Multiplatform library for managing background work and scheduling. It provides a unified API similar to Android Jetpack WorkManager, supporting Android, iOS, and Desktop targets.

AndroidNative·brewkits·Apache License 2.0
kfswatch1.4.0
1351 used by

Monitors file system changes across multiple directories, emitting events such as create, delete, and modify. Allows observing file events using flows, supports multiple platforms, and provides raw event access for debugging.

AndroidJSJVMNativeWasm·irgaly·Other
river1.0.0-alpha18
83

Powerful reactive stream library simplifies building connectors for various enterprise protocols using Flow and coroutines. Provides higher-level abstractions, efficient data processing, and seamless integration with diverse technologies.

AndroidJSJVMNative·River-Kt·MIT License
comet0.3.0
68

Lightweight observability for coroutines offering real‑time lifecycle tracing, P50/P90/P99 metrics, failure rates, flexible sampling strategies, pluggable exporters, and live trace visualization.

AndroidJVMNative·pandubaraja·Apache License 2.0
indexeddb0.12.0
67

Wrapper around IndexedDB, enabling access via suspend functions for linear, non-callback control flow. Facilitates database creation, migration, transactions, and data operations with key ranges and cursors.

JSWasm·JuulLabs·Apache License 2.0
kotlin.document.store1.0.4
44

Fast NoSql document store for managing JSON objects with typed and schemaless data. Features developer-friendly APIs, asynchronous operations, indexing, and extensibility for custom serializers or storage backends.

AndroidJSJVMNativeWasm·lamba92·Apache License 2.0
Chassis0.1.0
37

Lightweight library for form state management and field validation, offering concise DSL for building forms, handling nullability, supporting async validation, and employing a declarative paradigm.

JVM·boguszpawlowski
KMP-Player1.0.2-beta
31

Cross-platform media player library enables running sample apps on Android and iOS, and supports publishing to MavenLocal and MavenCentral with detailed setup instructions.

AndroidNative·RufenKhokhar
aqueue0.0.1-dev011
30

Enables asynchronous queue management with fine-grained concurrency control, ideal for combining asynchronous and synchronous operations. Supports parallel processing while ensuring sequential execution for specific keys.

JSJVMNative·y9san9·MIT License
surrealdb-kotlin-driver0.2.1
29

Simple driver for SurrealDB. Supports all Websocket endpoints, integrates with kotlinx.serialization, and performs asynchronous database operations. Features live queries, type-safe record links, and seamless JSON handling.

JSJVMNative·mnbjhu·MIT License
yass228.0.1
26

Small library enabling efficient asynchronous peer-to-peer communication with type-safe contracts. Features include unidirectional remoting, Ktor transport adaptors, code generation, and extendable binary serialization.

JSJVMNativeWasm·softappeal·BSD 3-Clause "New" or "Revised" License
KonTinuity0.0.2
18

Offers tools for managing and maintaining continuous integration and deployment workflows, enhancing automation processes and streamlining project development cycles.

JSJVM·kyay10·Apache License 2.0
run-blocking-kmp0.1.0-rc.1
12

Facilitates coroutine execution in a blocking manner, simplifying asynchronous code management. Offers documentation online and supports integration with various platforms via MavenCentral.

JSJVMNative·JavierSegoviaCordoba
kmp-serialport1.0.1
11

Cross-platform serial communication library simplifies asynchronous operations with coroutines and flow, featuring customizable baud rate, data bits, stop bits, and parity settings.

AndroidJSJVMNativeWasm·jeadyx
coroutine-dispatchers1.0.0-alpha04
10

Simplifies replacing real CoroutineDispatchers with TestDispatchers by passing a DispatcherProvider through CoroutineContext; includes runTest/TestScope integrations, default dispatcher-to-test mapping and lint rules.

AndroidJVMNative·DNA-inc·MIT License
socket3.6.8
81 used by

Network I/O API offering suspendable connect/read/write/close, coroutine-friendly flows for stream consumption, TLS support, server/client helpers, and buffer-based read/write with auto-close lambda.

AndroidJSJVMNativeWasm·DitchOoM·Apache License 2.0
amqp-connector0.2.8
7

Enables efficient RabbitMQ/AMQP communication through publish/subscribe, request/reply schemes, and fast asynchronous processing with coroutine support. Offers configurable queues and automatic recovery features.

JVM·dossiersolutions·MIT License
persista2.1.0
71 used by

Small library for asynchronously persisting single instances of data classes with a simple API, leveraging coroutines and serialization, ensuring data integrity and non-blocking operations.

AndroidJVMNative·erdo·Apache License 2.0
Page 1Next →