Browse Kotlin Multiplatform libraries

index data from klibs.io
Sort
Tagcompiler-plugin
redacted-compiler-plugin1.17.0
4371 used by

Generates redacted `toString()` implementations for classes, allowing selective property redaction via a `@Redacted` annotation. Supports custom annotations and replacement strings, enabling flexible redaction configurations.

JSJVMNativeWasm·ZacSweers·Apache License 2.0
arrow-meta2.0.3-alpha.2
408

Meta-programming library enhances the compiler, enabling development of plugins, source transformations, linters, type search engines, and automatic code refactoring. Supports writing tests for plugins and quotes.

JSJVMNative·arrow-kt·Apache License 2.0
cite0.9.0
3692 used by

Compiler plugin embeds metadata about source files directly into the generated code, allowing access to filename, enclosing type, member name, and line number at runtime.

JSJVMNativeWasm·JakeWharton·Apache License 2.0
burst2.13.0
319

Unit testing library facilitates parameterization of tests using enums, specializing test cases for each enum value and combination, enhancing test coverage with minimal code changes.

JSJVMNativeWasm·cashapp·Apache License 2.0
confundus1.1.0
270

Enhances type casting by introducing `unsafeCast`, allowing reinterpretation of nullable references as non-nullable without runtime checks, optimizing performance at the expense of type safety.

JSJVM·JakeWharton·Apache License 2.0
dataclassgenerate1.2.0
169

Compiler plugin reducing APK size by optimizing data class methods like `toString`, `equals`, and `hashCode`. Configurable modes control method generation while retaining compatibility with bytecode optimizers.

JVM·facebookincubator·MIT License
mappie2.4.0-2.4.2
124

Simplifies object mapping code generation by providing a compile-time solution, enhancing development efficiency and reducing errors. Offers type-safe, idiomatic code with intuitive error messages and compatibility with various platforms.

JSJVMNativeWasm·Mr-Mappie·Apache License 2.0
injekt0.0.1-dev757
1141 used by

Next-gen dependency injection library offering a streamlined approach to providing and injecting dependencies, supporting multi-injection, scoping, modules, components, function injection, and type distinguishing strategies.

JSJVM·IVIanuu
kotlin-jvm-blocking-bridge3.0.0-180.1
941 used by

Generates blocking bridges for calling suspend functions from Java, simplifying integration. Automatically creates non-suspend bridge functions, ensuring minimal effort and high stability for production use.

JSJVMNative·Him188·Apache License 2.0
compose-rebound0.2.2
84

Instruments @Composable functions with lightweight tracking to monitor recomposition rates against per-composable budgets, detect violations, and report via IDE performance cockpit, CLI, and logs.

AndroidJVMNative·aldefy·Apache License 2.0
kotlinx-gettext0.7.0
57

Implements Gettext for internationalization, featuring a library for string translation, a compiler plugin for extracting translatable strings, and a Gradle plugin for seamless integration, enhancing i18n workflows.

JSJVM·kropp·Apache License 2.0
Terpal2.3.0-2.0.1.PL
575 used by

Enables capturing string variables before interpolation, enhancing security and flexibility. Implements custom DSLs for safe SQL queries, preventing SQL injection vulnerabilities through typed string interpolation.

JSJVMNativeWasm·exoquery·Apache License 2.0
back-in-time-plugin0.0.1-alpha03
49

Enhances debugging by tracking application state changes and enabling state reversion during execution. Utilizes Flipper integration for seamless back-in-time debugging.

AndroidJSJVMNative·kitakkun·Apache License 2.0
EzHook0.0.2
48

AOP framework enabling method replacement at compile-time through custom hooks. Offers runtime support, original method invocation, and inlining for reduced dependency issues. Supports specific platforms.

AndroidJSJVMNative·XDMrWu·Apache License 2.0
Purity1.6.1
45

Facilitates determination and enforcement of pure and readonly functions through compiler plugin annotations, ensuring functions adhere to strict immutability rules and enhancing code reliability.

JSJVMNative·yairm210·Apache License 2.0
inspekt0.0.4
43

Compile-time reflection enabling inspection of classes, functions, properties and annotations, with top-level declaration support, suspend invocation, JVM-like proxies and dependency reflection.

JSJVMNativeWasm·rnett·Apache License 2.0
kotlin-dynamic-delegation0.4.0-180.1
421 used by

A compiler plugin enabling dynamic class delegation similar to property delegations, which simplifies delegation and allows functions to be 'lazy' with persistent values, enhancing flexibility and reducing boilerplate.

JSJVMNative·Him188·Apache License 2.0
krosstalk1.4.0
23

Enables easy creation of RPC methods with pluggable client, server, and serialization implementations. Offers flexibility through `expect/actual` modifiers, Ktor plugins, and comprehensive error handling. Supports advanced features like scopes, response/request headers, and microservices.

JSJVMNative·rnett·Apache License 2.0
aspectk0.2.3
22

Compile-time aspect-oriented weaving via compiler IR transformation, injecting @Aspect/@Before advice with zero runtime overhead; supports suspend, inline, extension, expect/actual functions, inheritance, many-to-many targets, rich JoinPoint metadata.

JSJVMNativeWasm·Mole-Labs·Apache License 2.0
Kondition0.1.0-alpha02
19

Ensures code runs under specified conditions using annotations to define parameter requirements, supports combining predefined annotations and allows defining custom conditions. Currently a work in progress.

AndroidJVMNative·kitakkun·Apache License 2.0
koja0.4.11
121 used by

Generates JSON schemas from annotated classes, supporting primitives, arrays, maps, nested objects, and enums. Ensures type-safety with KDoc subset and handles nullable fields. Experimental API.

JSJVMNative·ondrsh·Apache License 2.0
snapshottable0.1.4
11

Automatically generates mutable, snapshot-backed classes from immutable state definitions for Compose UIs, enabling observable, optimized primitive state, two-way conversion, bulk updates, and serialization-friendly specs.

JSJVMNativeWasm·tunjid·Apache License 2.0
Introspekt1.6.0
91 used by

Offers a positional code API and introspection framework with features like `SourceLocation`, `FunctionInfo`, `ClassInfo`, and `AnnotationInfo` for enhanced introspection and compile-time evaluation.

AndroidJSJVMNativeWasm·karmakrafts·Apache License 2.0
compose-recompose-pulse0.1.2
9

Local-installable instrumentation toolkit that visually highlights UI recompositions with a lightweight pulse, using compile-time injection, Gradle integration, and opt-out annotations for selective scopes.

AndroidJSJVMNativeWasm·adamglin0·Apache License 2.0
JsNamedArgs0.1.3
8

Enhances API contracts for JavaScript clients by generating JS-friendly functions and class constructors. Enables passing arguments via destructured objects, improving code readability and reducing bugs.

JSJVMNative·PhiloInc·MIT License
AsFuture1.0.0
7

Generates Java-friendly APIs from suspend functions, creating Future-based interfaces for seamless integration with Java and other JVM languages, while retaining original suspend functionality.

JSJVMNative·xebia-functional·Apache License 2.0
wither0.0.1
7

Minimal placeholder repository awaiting documentation; scaffolds codebase and configuration, intended for future features and contributions, currently lacking descriptive README and usage examples.

JSJVMNativeWasm·kyay10·Apache License 2.0
gradle-codeowners-plugin2.8.0
6

Enhances build processes by propagating CODEOWNERS information to classes. Offers plugins for reporting class ownership, JVM runtime propagation, and Kotlin runtime propagation, supporting multi-module projects.

JSJVMNative·gmazzo·MIT License
KtIRDissector0.0.1
5

Tool for compile-time transformation of intermediate representations, enabling method entry/exit hooks or complete replacements using annotation-based mechanisms to modify and enhance method functionalities.

JVMNative·androidZzT·Apache License 2.0
suspend-kontext0.1.0-alpha02
5

Enhances coroutine context management in suspending functions through annotations, simplifying code readability by eliminating the need for `withContext` calls.

AndroidJVMNative·kitakkun·Apache License 2.0
Page 1Next →