Browse Kotlin Multiplatform libraries
index data from klibs.ioExposes metadata to help tools and developers understand code, offering common API annotations (including Java-compatible OptIn) and dependency artifacts for easy integration.
Streamlines using JavaScript libraries from JVM and Native programs. Enables continuous deployment within mobile apps, user-customizable behavior, plugin systems, and updating business rules. Integrates the QuickJS JavaScript engine for fast, modular, and secure code execution.
Parses RSS and Atom feeds, extracting data like titles, descriptions, links, and various multimedia attributes. Supports custom configurations for networking and character sets, and integrates with Java projects using CompletableFuture.
Library for color manipulation and conversion, supporting various color models and spaces. Includes features like color mixing, chromatic adaptation, WCAG contrast, perceptual difference calculations, gradient generation, and CSS-compatible color string rendering.
Enhances personal experimentation and educational learning by enabling users to add custom sources to the Soundbound App via a provided repository link. Usage limited to non-commercial and lawful purposes.
Simplifies handling of file and data sizes, supporting conversions between units like bytes, kilobytes, megabytes, and gigabytes, along with arithmetic operations and human-readable formatting.
Syntax highlighting engine supports multiple programming languages, customizable themes, and efficient incremental updates. Emphasizes keywords, comments, and other code components, with built-in caching for optimal performance.
Facilitates type-safe arithmetic operations for physical quantities using SI units, enabling logical modeling of quantities and customizable unit extensions with easy extensibility for custom formulas.
Implements semantic versioning specification, enabling parsing, comparing, incrementing, and validating semantic versions. Supports constraints, range conditions, and provides detailed handling of version components.
Set of libraries for working with geospatial data, including GeoJson implementation and a port of Turfjs, featuring a Kotlin DSL for building GeoJson objects.
Comprehensive library facilitating the use of International System of Units in code, enhancing formula writing, dimensional analysis, and error detection in complex calculations without external dependencies.
Introduces support for universally unique identifiers (UUIDs), offering serialization capabilities and compatibility across various platforms. Integrates seamlessly with existing serialization libraries for enhanced data handling.
Library facilitates access to platform-specific directories for storing application data, configurations, caches, and logs. Supports multiple methods for different directory types and respects platform-specific standards.
Converts strings between various case formats including snake_case, camelCase, and PascalCase, supports custom cases, and provides word splitting functionality. Ideal for consistent case formatting across diverse text processing tasks.
Fuzzy string matching library for selecting the closest matching string from a collection, utilizing various algorithms. Useful in projects requiring approximate string matching.
Expands standard library with missing utilities, including stateful text input validation, datetime extensions, coroutine enhancements, and more. Simplifies development with drop-in dependency and autocompletion support.
Facilitates lazily-evaluated log calls using inline classes and functions, integrating with SLF4J. Supports idiomatic logger declarations, resistant to cut-and-paste errors, and improves logging performance by avoiding unnecessary computations.
Cross-platform library for allocating and managing byte arrays using an API similar to Java's ByteBuffer. Supports direct, heap, and shared memory allocation zones, enabling efficient memory management across different platforms.
Runs a "hook" lambda after a code block, regardless of success, failure, or application termination. Useful for operations affecting external systems, like file locks.
Adds support for Unicode normalization as per Unicode Standard Annex #15, extending the `String` class with a `normalize(Form)` method, supporting NFC, NFD, NFKC, and NFKD forms.
Implements drop and inner shadows for Compose, allowing customization of shadow properties like shape, color, offset, blur, and spread for enhanced UI design.
Minimalistic logging library facilitating initialization, log level configuration, and various logging sinks (AndroidLog, Println, MemoryRing). Supports convenient log methods for info, debug, warning, and error.
Handles platform-specific application home and cache directories. Provides functions to retrieve appropriate paths for data and cache storage based on the operating system and platform environment.
Configurable, streamable, and extensible encoding/decoding library supporting Base16, Base32, and Base64 formats. Offers customization options, extension functions, and streaming capabilities for efficient data processing.
Computes list differences by identifying required insertions, deletions, and optional move detections, using Eugene Myer's Differencing Algorithm. Offers platform-agnostic APIs and improved performance features.
Provides a small geometry library for handling basic geometric operations and data exchange using GeoJSON. Supports various geometries like Point, LineString, and Polygon with utilities for distance, area, and serialization.
Delivers micro-optimized utilities and data structures enhancing performance and memory efficiency, offering fast, allocation-conscious solutions to common operations with familiar APIs and seamless serialization.
Enhances phone number handling by addressing performance issues and reducing method count in Android applications. Offers a repackaged API and custom instantiation methods for streamlined usage.
Declarative APIs for managing multi-way tree data, facilitating easy conversion between tree structures, path enumeration, and adjacency models. Offers tree operations like mapping, filtering, and node manipulation.
Library for creating finite state machines allows defining states, transitions, and conditions for state changes. Includes sample applications like a dungeon explorer and a stopwatch, supporting various platforms.