garrity software

Open Source

Garrity Software exposes all non-product software as open source. Typically, either the MIT License or the Apache 2.0 license is used.

If you have questions or want to discuss these projects, consider joining the Garrity Software Discord Community.

Scala

All GS projects are currently implemented in Scala 3. No Scala 2 artifacts are available. GS typically leans towards the newest available Scala versions. GS libraries typically try to minimize size and dependency scope.

GS does not yet build libraries for Scala Native or ScalaJS.

Version Control (Git)

GS uses self-hosted version control at https://git.garrity.co/garrity-software. All code is available, though registration is not available at this time. Once all setup is complete, accounts may be granted to allow for contributions.

Mirrors

Mirrors do not yet exist, but are planned. Mirrors will be available on GitHub.

Maven

GS provides a Maven server and does not upload artifacts to other public Maven/Ivy repositories at this time.

resolvers += "garrity-software-gs" at "https://maven.garrity.co/gs"

No credentials are required to use this repository.

API Documentation

ScalaDoc is not yet published.

Projects

gs-uuid (Scala 3) (Library)
Uses JUG and ported code from Jackson to provide an opaque UUID type over java.util.UUID, backed by custom rendering and parsing.
gs-slug (Scala 3) (Library)
Provides a Slug type. This type relies on a very small set of ASCII characters and is intended for URL-safe identifiers.
gs-hex (Scala 3) (Library)
Small, efficient, Hexadecimal conversion library with encoder/decoder type classes and support for basic types. Based on handling byte arrays.
gs-blob (Scala 3) (Library)
Opaque type (Blob) and tools (e.g. encoding) for "blobs" - arrays of bytes.
gs-datagen (Scala 3) (Library)
Random data generation library for Scala 3. Intended for use in tests, but not limited to that case. Provides a composable type for generators and several standard generators.
gs-config (Scala 3) (Library)
Library for loading, and specifically auditing, configuration. Provides a complete digest of what configuration keys were queried and what happened to them.

Incubator

gs-test (Scala 3) (Library)
Test framework for Scala 3. Based on Cats Effect. Notably provides structured test output and envisions a more powerful method of expressing test execution.
gs-log (Scala 3) (Library)
FP logging library for Scala 3.
gs-crypto (Scala 3) (Library)
Based on JVM standard implementations and Bouncy Castle. Working to define some crypto interfaces for GS projects in a way that works well with Scala.
smolban (Scala 3) (Application)
Fun side-project to create a small/minimal Kanban oriented system. Light on process, helps prove out certain concepts in a non-critical application.