Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/47degrees/helios
A purely functional JSON library for Kotlin built on Λrrow
https://github.com/47degrees/helios
functional functional-programming json json-parser kotlin kotlin-dsl kotlin-library
Last synced: 9 days ago
JSON representation
A purely functional JSON library for Kotlin built on Λrrow
- Host: GitHub
- URL: https://github.com/47degrees/helios
- Owner: 47degrees
- License: apache-2.0
- Created: 2018-01-19T22:48:45.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-13T15:55:21.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T19:36:52.628Z (4 months ago)
- Topics: functional, functional-programming, json, json-parser, kotlin, kotlin-dsl, kotlin-library
- Language: Kotlin
- Homepage: https://47degrees.github.io/helios/
- Size: 794 KB
- Stars: 168
- Watchers: 59
- Forks: 22
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-list - 47degrees/helios - A purely functional JSON library for Kotlin built on Λrrow (Kotlin)
README
# Helios
**Helios** is a library used to transform `Json` text into a model and vice versa.
It's based on part of the [Jawn Parser](https://github.com/non/jawn) built on `Arrow`,
a Functional companion to `Kotlin`'s Standard Library.Learn more on [**47degrees.github.io/helios**](https://47degrees.github.io/helios)
## Why Helios
**Helios** is one of the fastest `Json` parser libraries in `Kotlin`
with the advantage of using the `Arrow` library for functional programming.## Adding the dependency
**Helios** uses `Kotlin` version `1.3.31` and `Arrow` version `0.9.0`.
To import the library on `Gradle`, add the following repository and dependencies:
```groovy
repositories {
maven { url = uri("https://dl.bintray.com/47deg/helios") }
}dependencies {
compile "com.47deg:helios-core:0.2.0"
compile "com.47deg:helios-parser:0.2.0"
compile "com.47deg:helios-optics:0.2.0"
kapt "com.47deg:helios-meta:0.2.0"
kapt "com.47deg:helios-dsl-meta:0.2.0"
}
```## Running Benchmarks
To run the benchmarks for comparing **Helios** with other `Json` libraries, execute the following command:
```bash
./gradlew :helios-benchmarks:executeBenchmarks
```To run the benchmarks with **Helios**' performance, execute the following command:
```bash
./gradlew :helios-benchmarks:executeHeliosBenchmark
```## Running Microsite
To run the **Helios** microsite locally, you need to execute the following command:
```bash
bundle install --gemfile ./docs/Gemfile --path vendor/bundle
```Next, you'll be able to run the following command:
```bash
BUNDLE_GEMFILE=docs/Gemfile bundle exec jekyll serve -s docs
```