Skip to content
This repository was archived by the owner on Jun 14, 2026. It is now read-only.

Repository files navigation

Utilities

A collection of high-quality Kotlin utility modules designed for common development tasks, including cryptography, data sizes, functional effects, robust error handling, and more.

Modules

Module Description Version Dependencies
bytearray Utility functions for simplified ByteArray operations (hex, padding). 2.0.0 None
crypto High-level cryptographic utilities (Argon2, HMAC, secure data handling). 2.0.0 bytearray, datasizes, outcome, bouncycastle
datasizes Type-safe data size constants and conversions (Binary and Decimal). 2.0.0 None
effect Functional side-effect management (Effect, IO, coroutines support). 2.0.0 outcome, kotlinx-coroutines
ignore Annotation to mark elements to be ignored by processors or readers. 2.0.0 None
io Efficient IO and file system utilities powered by Okio. 2.0.0 serialization, outcome, okio, kotlinx-serialization
outcome Type-safe Success/Failure result handling for robust error management. 2.1.0 None
serialization Kotlin Serialization extensions and common serializers. 2.1.0 outcome, kotlinx-serialization, kotlin-reflect
[ktor-client](ktor/README.md Ktor helper 1.0.0 ktor

Installation

To use any of these modules, add the corresponding dependency to your project. Replace <module> with the module name and <version> with the latest version (e.g., 2.0.0).

Gradle (Kotlin)
implementation("dev.mtctx.library:utilities-<module>:<version>")
Gradle (Groovy)
implementation 'dev.mtctx.library:utilities-<module>:<version>'
Maven
<dependency>
    <groupId>dev.mtctx.library</groupId>
    <artifactId>utilities-&lt;module&gt;</artifactId>
    <version>&lt;version&gt;</version>
</dependency>
Ivy
<dependency org="dev.mtctx.library" name="utilities-&lt;module&gt;" rev="&lt;version&gt;"/>
sbt
libraryDependencies += "dev.mtctx.library" % "utilities-&lt;module&gt;" % "&lt;version&gt;"
Leiningen
[dev.mtctx.library/utilities-<module> "<version>"]

Implementation Guidelines

To implement a new module in this repository, follow these guidelines:

  1. Naming: Use a concise, lowercase name for the module directory.
  2. Structure: Follow the standard Gradle/Kotlin project structure: src/main/kotlin/dev/mtctx/utilities/<module-name>/.
  3. Gradle Configuration:
    • Use the convention plugins for Dokka and Publishing.
    • Set the archivesName in the base block.
    • Define the version and group (should be dev.mtctx.utilities).
  4. Documentation: Each module should have a README.md and KDoc for public APIs.
  5. Testing: Include unit tests for all public functionality in src/test/kotlin.

About

All things I regularly use in Kotlin

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages