awesome-scala-native
  
  
     Compilation of Scala Native resources and libraries  
    https://github.com/tindzk/awesome-scala-native
  
        Last synced: 6 days ago 
        JSON representation
    
- 
            
Tutorials and Examples
- Modern systems programming with scala native
 - Write a simple CLI application in Scala Native
 - Giter8 template for a minimal Scala Native project - Official [Giter8](http://www.foundweekends.org/giter8/) template for a minimal Scala Native project.
 - Hands on Scala Native - Tutorial for implementing a bandwidth monitor with Ncurses.
 - Starter for Scala Native - Scala Native project that links to a custom C library.
 - Building C code using sbt-jni - Example for compiling C code in a Scala Native project using [sbt-jni](https://github.com/jodersky/sbt-jni).
 - Example project with external dependencies - Example project that uses external dependencies to generate HTML and run a test suite.
 - Starter for Gtk+ Projects - [Giter8](http://www.foundweekends.org/giter8/) template for Scala Native GUI projects using [Gtk+](https://developer.gnome.org/gtk3/stable/index.html).
 - Write a simple CLI application in Scala Native
 - Write a simple CLI application in Scala Native
 
 - 
            
Build Tools
- sbt - Scala's standard build tool.
 - Mill - Build tool striving for simplicity, inspired by [Bazel](https://www.bazel.build/).
 - Bloop - Scala build server and command-line tool for fast developer workflows.
 - Seed - Build tool based on Bloop. Focuses on user experience and cross-platform builds, inspired by [Cargo](https://github.com/rust-lang/cargo).
 
 - 
            
Functional Programming
- PPrint - Pretty-print values and types.
 - PPrint - Pretty-print values and types.
 - SourceCode - Implicits providing meta data similar to `__LINE__` in C.
 - Shapeless - Library for generic programming.
 - Squants - DSL for quantities, units of measure and dimensional analysis.
 - scalaz - Type classes and instances for data structures.
 - nobox - Immutable primitive array wrapper without boxing.
 - PPrint - Pretty-print values and types.
 - SourceCode - Implicits providing meta data similar to `__LINE__` in C.
 - reactify - Functional Reactive Programming framework for Scala.
 - chimney - Boilerplate-free data transformations.
 - Quicklens - Modify deeply nested case class fields.
 - Cats - Abstractions for functional programming in Scala.
 - PPrint - Pretty-print values and types.
 - SourceCode - Implicits providing meta data similar to `__LINE__` in C.
 
 - 
            
Unit Tests
- µTest - Library for unit tests.
 - µTest - Library for unit tests.
 - minitest - Lightweight testing library.
 - scalaprops - Library for property-based testing.
 - scalaprops-shapeless - Generation of arbitrary ADT instances.
 - scalaprops-cross-example - Cross-platform example.
 - ScalaCheck - Property-based testing for Scala.
 - ScalaTest - Testing library.
 - specs2 - Software Specifications for Scala.
 - Makeshift - Library for unit tests.
 - MUnit - Scala testing library with actionable errors and extensible APIs.
 - µTest - Library for unit tests.
 
 - 
            
Infrastructure
- Seed Docker image - Docker image for cross-platform builds with [Seed](https://github.com/tindzk/seed).
 - scala-native-sbt-docker - Docker image for Scala Native and sbt.
 
 - 
            
Bindings
- cmark - Bindings for the [cmark](https://github.com/commonmark/cmark) CommonMark parser library.
 - libuv - Bindings for [libuv](https://github.com/libuv/libuv), a library for asynchronous I/O.
 - SDL2 and OpenGL - Bindings for the graphical frameworks [SDL2](https://www.libsdl.org/) and [OpenGL](https://www.opengl.org).
 - Cocoa - Bindings for the macOS graphical framework [Cocoa](https://en.wikipedia.org/wiki/Cocoa_(API)).
 - GNU Scientific Library - Bindings for [GNU Scientific Library (GSL)](https://www.gnu.org/software/gsl).
 - BLAS - Bindings for [BLAS](http://www.netlib.org/blas/), a library for Linear Algebra.
 - Gtk+ - Bindings for the [GTK+](https://www.gtk.org/) graphical toolkit.
 - libsoup - Bindings for the [libsoup](https://wiki.gnome.org/Projects/libsoup) HTTP client/server library.
 - libui - GUI framework based on [libui](https://github.com/andlabs/libui).
 - GStreamer - Bindings for the [GStreamer](https://gstreamer.freedesktop.org) multimedia framework.
 - Qt - Bindings for [Qt](https://www.qt.io).
 - ncurses - Bindings for the [GNU Ncurses Library](https://www.gnu.org/software/ncurses/).
 - readline - Bindings for the [GNU Readline Library](https://www.gnu.org/software/readline/).
 - libsndfile - Bindings for the [Libsndfile](https://tiswww.cwru.edu/php/chet/libsndfile/rltop.html) C library for sampled sound manipulation.
 - libpng - Bindings for the [libpng](http://www.libpng.org/) C reference library for reading and writing PNGs.
 - libcairo - Bindings for the [Cairo](https://www.cairographics.org/) 2D graphics C library.
 - cairo-xlib - Bindings for the [Cairo](https://www.cairographics.org/) 2D graphics [XLib Surfaces](https://www.cairographics.org/manual/cairo-XLib-Surfaces.html) with bindings for [XLib](https://www.x.org/releases/current/doc/libX11/libX11/libX11.html) as well.
 - libyaml - Bindings for the [LibYAML](https://pyyaml.org/wiki/LibYAML) C library for parsing [YAML](https://yaml.org/).
 - iup - Bindings for the [IUP](https://www.tecgraf.puc-rio.br/iup/) multi-platform toolkit for building graphical user interfaces.
 
 - 
            
File Formats and Parsers
- msgpack4z - Implementation of [MessagePack](https://msgpack.org/), a binary serialisation format.
 - FastParse - Library for defining and running parsers.
 - scalatags - HTML/XML construction and rendering.
 - Pine - HTML/XML parsing, manipulation and rendering.
 - scala-json - JSON parser.
 - uJson - fast, flexible and intuitive JSON for Scala
 - toml-scala - [TOML](https://github.com/toml-lang/toml) parser with codec derivation.
 - argonaut - Purely functional JSON parser and library.
 - ScalaPB - [Protocol Buffer](https://developers.google.com/protocol-buffers/) compiler for Scala.
 - scalapb-argonaut - JSON and Protocol Buffer converters for ScalaPB based on [Argonaut](http://argonaut.io).
 - sconfig - [HOCON](https://github.com/ekrich/sconfig/blob/master/docs/original/HOCON.md) parser.
 - squiggly - Cross-platform template language for Scala, inspired by Liquid and Hugo templates.
 - uPickle - uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala
 
 - 
            
Databases
- JDBC - Port of the database access layer [JDBC](https://en.wikipedia.org/wiki/Java_Database_Connectivity) to Scala Native.
 - SQLite4S - Port of the Java library [Sqlite4java](https://bitbucket.org/almworks/sqlite4java). Includes bindings for the SQLite native library.
 - libpq4s - Scala wrapper around the async PostgreSQL C library libpq.
 - scala-native-jdbc - Port of the database access layer [JDBC](https://en.wikipedia.org/wiki/Java_Database_Connectivity) to Scala Native.
 - skunk - A data access library for Scala + Postgres.
 
 - 
            
Web Development
 - 
            
Concurrency
- scala-native-loop - Event loop and async-oriented IO for Scala Native
 - castor - Lightweight, typed Actor library for Scala.
 
 - 
            
Logging
 - 
            
Console
- fansi - Library for creating [ANSI-coloured strings](https://en.wikipedia.org/wiki/ANSI_escape_code).
 - scopt - Command-line argument parser.
 - scala-optparse-applicative - Port of Haskell's CLI argument parsing library [optparse-applicative](https://hackage.haskell.org/package/optparse-applicative).
 - scallop - A simple Scala CLI parsing library.
 - mainargs - Small, dependency-free library for command line argument parsing in Scala.
 - decline - A composable command-line parser for Scala.
 
 - 
            
Robotics
 - 
            
Programs
- sglgears - Port of GL [gears.c](https://github.com/JoakimSoderberg/mesademos/blob/master/src/xdemos/glxgears.c).
 - k8s-cli - CLI tools to generate [Kubernetes](https://kubernetes.io/) resources for [Akka](https://akka.io/), [Play Framework](https://www.playframework.com/) and [Lagom](https://www.lagomframework.com/)-based applications.
 - Coursier - Coursier's [`bootstrap` command](https://get-coursier.io/docs/cli-native-bootstrap) generates native launchers.
 - fractals - A self-similar fractal generator with basic animation support.
 
 
            Categories
          
          
        
            Sub Categories
          
          
            Keywords
          
          
              
                scala
                50
              
              
                scala-native
                42
              
              
                scalajs
                9
              
              
                scala-js
                9
              
              
                scalaz
                6
              
              
                functional-programming
                5
              
              
                testing
                4
              
              
                scalaprops
                3
              
              
                jvm
                3
              
              
                java
                3
              
              
                json
                3
              
              
                bindings
                3
              
              
                gtk
                3
              
              
                web-development
                2
              
              
                http
                2
              
              
                property-based-testing
                2
              
              
                scala-library
                2
              
              
                shapeless
                2
              
              
                cocoa
                2
              
              
                reactive
                2
              
              
                cats
                2
              
              
                scalacheck
                2
              
              
                generic-programming
                2
              
              
                linux
                2
              
              
                typelevel
                2
              
              
                macos
                2
              
              
                slf4j
                2
              
              
                scalapb
                2
              
              
                scala3
                2
              
              
                build-tool
                2
              
              
                build-system
                2
              
              
                database
                2
              
              
                opengl
                2
              
              
                dotty
                1
              
              
                laws
                1
              
              
                lenses
                1
              
              
                type-mapping
                1
              
              
                transformation
                1
              
              
                metaprogramming
                1
              
              
                mersenne-twister
                1
              
              
                prng
                1
              
              
                property-testing
                1
              
              
                bdd
                1
              
              
                specification
                1
              
              
                specs2
                1
              
              
                test
                1
              
              
                mit-license
                1
              
              
                unit-testing
                1
              
              
                commonmark
                1
              
              
                libuv
                1