Browse Kotlin Multiplatform libraries

index data from klibs.io
Sort
Tagfunctional-programming
kotlin-retry2.0.2
3772 used by

Higher-order function for retrying operations prone to temporary failures. Supports customizable retry policies, including exponential backoff and jitter. Integrates with `Result` type for non-exceptional failures.

JSJVMNativeWasm·michaelbull·ISC License
fmodel3.7.0
285

Library for functional and reactive domain modeling using Domain-Driven Design patterns, optimized for Event Sourcing and CQRS. Includes isolated domain models, application orchestration, and support for state-stored and event-sourced systems.

JSJVMNative·fraktalio·Other
tribune1.2.4
219

Library for creating simple parsers to transform raw input types into validated types, ensuring robust type safety and reducing redundant validation. Supports composable parsers and Ktor integration for HTTP services.

JSJVMNative·sksamuel·Apache License 2.0
xef0.0.5-alpha.119
193

Integrates modern AI capabilities, including large language models and image generation, into applications. Offers core libraries for essential AI services and complementary library integrations, inspired by LangChain and Hugging Face projects.

JSJVMNative·xebia-functional·Apache License 2.0
ExoQuery2.3.0-2.0.4.PL
174

Enables SQL queries at compile time using familiar language constructs. Simplifies database querying by allowing use of standard operators and syntax for conditions, joins, and subqueries. Offers a functional and composable approach to writing queries.

AndroidJVMNative·exoquery·Apache License 2.0
stream-result1.3.3
106

Railway-oriented library simplifies handling success and failure with a normalized `Result` model. Integrates seamlessly with Retrofit, offering extensions for chaining operations, error handling, and retry policies, enhancing functional programming practices.

AndroidJVMNative·GetStream·Apache License 2.0
Saga1.0.2-alpha.10
70

Manages data consistency across microservices using the saga design pattern. Facilitates distributed transactions with a convenient DSL, enabling automatic rollbacks and compensating actions for composed operations.

JSJVMNative·nomisrev·Apache License 2.0
JsonPathKt4.0.0
641 used by

Efficiently extracts values from JSON objects using simplified JsonPath syntax. Supports functional programming aspects and avoids exceptions, enhancing performance by up to 7x compared to other implementations.

JSJVMNativeWasm·eygraber·BSD 3-Clause "New" or "Revised" License
kotest-extensions-arrow2.0.0
401 used by

Enables seamless integration with Arrow, providing specialized matchers, property-based testing support, and combinators for functional programming constructs, enhancing test capabilities and reducing dependency conflicts.

JSJVMNative·kotest·Apache License 2.0
arrow-exact0.1.0
31

Enforces exactness in data structures by leveraging the type system and smart constructors, ensuring values meet specified conditions. Supports composition and reuse of validation logic.

JSJVMNative·arrow-kt·Apache License 2.0
kudzu6.1.2
314 used by

Creates immutable, thread-safe recursive-descent parsers for evaluating simple to complex grammars. Features parser combinators, customizable syntax trees, operator precedence management, and source tracking without requiring advanced computational linguistics knowledge.

AndroidJSJVMNativeWasm·copper-leaf·BSD 3-Clause "New" or "Revised" License
tabby2.2.12
26

Includes basic helpers and standard library result extensions, enhancing functional programming capabilities with simplified result handling. Supports different versions for compatibility with specific language versions.

JSJVM·sksamuel·Apache License 2.0
kotlin-itertools1.1.0
25

Offers combinatoric sequence operations like combinations, permutations, and Cartesian products, inspired by Python's itertools library, facilitating sequence manipulation in various contexts.

JSJVMNativeWasm·michaelbull·ISC License
kap2.7.0
25

Type-safe async multi-service orchestration using flat chains and visible phases; compiler-enforced argument order, partial-failure tolerance, race/quorum primitives, timeout-fallbacks, memoization and composable resilience.

JSJVMNativeWasm·damian-rafael-lattenero·Apache License 2.0
Kombucha-UDF0.2
15

UDF library leverages The Elm Architecture to simplify application logic management. Features include state management, message handling, side effects, and UI adaptation, enhancing maintainability and testability.

JSJVMNative·ikarenkov·MIT License
arrow-proofs2.0.0-alpha.6
10

Facilitates dependency injection with a focus on immutability, type safety, and modularity, enhancing code organization and reducing boilerplate through functional programming principles.

JSJVMNative·arrow-kt·Apache License 2.0
Archer1.0.8
10

Lightweight framework enhances Functional Clean Architecture by simplifying contractual data sources and repositories, minimizing boilerplate code while maintaining essential mapping requirements for scalable, reusable solutions.

AndroidJSJVMNative·m2f-kt·Apache License 2.0
krefty0.5.0
9

Empowers creation of domain-specific types, addressing Primitive Obsession through a framework inspired by Refinement Type Theory. Useful for Domain-Driven Design, offers flexible type refinement.

JSJVM·ustitc·MIT License
kotlin-util2.1.0
7

Enhances projects with utility classes for collection handling and functional programming, featuring types like `Option`, `Either`, and `Try`, and iterators like `EmptyIterator` and `SingletonIterator`.

JSJVMNative·sczerwinski·Apache License 2.0
network-either-kmp0.3.0-alpha.1
5

Facilitates handling of network operations by providing utilities for either pattern, pretty printing logs, and resource mapping. Documentation and integration details accessible online.

JVM·JavierSegoviaCordoba
kotlin-itsok1.1.5
4

Enhances error handling with a custom `Result` type, allowing flexible error types and eliminating the need for wrapping results in Ok/Error objects, streamlining code efficiency.

JSJVMNativeWasm·PaoloConte·MIT License
resukt1.0.0
2

Represents a result type encompassing success or failure, offering customizable failure types, and features like `andThen`, `whenFailure`, and a `fold` method for pattern-matching-like functionality.

JSJVMNative·Jason5Lee·Apache License 2.0
functional0.2.5
2

Functional library enhancing programming with functional paradigms, supporting initial native compatibility for Linux x64 platforms.

JVMNative·dossiersolutions·MIT License
parsek0.2.12
2

Enables creation of text or token parsers using easily combinable building blocks, drawing inspiration from JParsec and Haskell's Parsec for building parser combinators.

JSJVM·w8mr·MIT License
kotlin-retry-arrow-either0.1.0
2

Extends retry functionality to handle operations returning Arrow's Either type, facilitating error handling without exceptions. Enhances retry logic with customizable policies.

AndroidJSJVMNative·jsoizo·MIT License
kresult0.4.1
2

Functional library enhances the result type with rich transformation functions, failure-side mapping, nullable handling, and integrations with frameworks, offering a seamless experience for expressing success or failure of actions.

JVMNative·kresult·Apache License 2.0
target-kt0.7.0
1

Enables efficient functional domain modeling by offering tools for creating validated domain models. Provides components like `ValueFailure`, `ValueObject`, and `ValueValidator`, alongside an annotation processor for generating validation functions and handling optional and nested properties. Ideal for ensuring data integrity in complex applications.

JSJVMNative·callius·Apache License 2.0
Result0.4.0
12 used by

Facilitates error handling and success management with a functional approach, improving code readability and maintainability through a clear representation of operation outcomes.

JVMNative·ioki-mobility·MIT License
yafrl0.3
1

Small library designed for functional reactive programming, offering an alternative to constructs like Flow and StateFlow. Provides unique advantages for specific use-cases.

JSJVMNative·yafrl·MIT License
either2.0.1
1

Implements a lightweight Either monad for handling computations with two possible outcomes, enhancing error handling and functional programming patterns.

JSJVMNative·Anvell·MIT License
Page 1Next →