Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-crystal

:gem: A collection of awesome Crystal libraries, tools, frameworks and software
https://github.com/veelenga/awesome-crystal

Last synced: 4 days ago
JSON representation

  • CLI Builders

    • OptionParser - command-line options processing (Crystal stdlib)
    • OptionParser - command-line options processing (Crystal stdlib)
    • OptionParser - command-line options processing (Crystal stdlib)
    • OptionParser - command-line options processing (Crystal stdlib)
    • admiral - A robust DSL for writing command line interfaces
    • Athena Console - Allows for the creation of CLI based commands
    • clicr - A simple declarative command line interface builder
    • clim - Slim command line interface builder
    • Cling - A modular, non-macro-based command line interface library
    • commander - Command-line interface builder
    • Keimeno - A lightweight text user interface library in Crystal
    • Phreak - A highly flexible Crystal CLI builder in the style of OptionParser
    • OptionParser - command-line options processing (Crystal stdlib)
  • Compression

    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Crystar - Readers and writers of Tar archive format
    • polylines.cr
    • snappy - Snappy compression format reader/writer for Crystal
    • zstd.cr - Bindings for [Zstandard](https://github.com/facebook/zstd) compression library
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Gzip - readers and writers of gzip format (Crystal stdlib)
    • Zip - readers and writers of zip format (Crystal stdlib)
    • Zlib - readers and writers of zlib format (Crystal stdlib)
  • Data Formats

    • CSV - parsing and generating for comma-separated values (Crystal stdlib)
    • INI - INI file parser (Crystal stdlib)
    • JSON - parsing and generating JSON documents (Crystal stdlib)
    • XML - parsing and generating XML documents (Crystal stdlib)
    • YAML - parsing and generating YAML documents (Crystal stdlib)
    • CSV - parsing and generating for comma-separated values (Crystal stdlib)
    • INI - INI file parser (Crystal stdlib)
    • JSON - parsing and generating JSON documents (Crystal stdlib)
    • XML - parsing and generating XML documents (Crystal stdlib)
    • YAML - parsing and generating YAML documents (Crystal stdlib)
    • CSV - parsing and generating for comma-separated values (Crystal stdlib)
    • INI - INI file parser (Crystal stdlib)
    • JSON - parsing and generating JSON documents (Crystal stdlib)
    • XML - parsing and generating XML documents (Crystal stdlib)
    • YAML - parsing and generating YAML documents (Crystal stdlib)
    • CSV - parsing and generating for comma-separated values (Crystal stdlib)
    • INI - INI file parser (Crystal stdlib)
    • JSON - parsing and generating JSON documents (Crystal stdlib)
    • XML - parsing and generating XML documents (Crystal stdlib)
    • YAML - parsing and generating YAML documents (Crystal stdlib)
    • BinData - Binary data parser helper with an [ASN.1](https://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One) parser
    • config.cr - Easy to use configuration format parser
    • crinder - Class based json renderer
    • Crystalizer - (De)serialize any Crystal object; supporting JSON, YAML, and Byte formats out of the box
    • front_matter.cr - Separates a files front matter from its content
    • geoip2.cr - GeoIP2 reader
    • HAR - HAR (HTTP Archive) parser
    • json-schema - convert JSON serializable classes into a [JSON Schema](https://json-schema.org/) representation
    • JSON::OnSteroids - handle and mutate JSON document easily
    • maxminddb.cr - MaxMindDB reader
    • toml.cr - TOML parser
    • CSV - parsing and generating for comma-separated values (Crystal stdlib)
    • INI - INI file parser (Crystal stdlib)
    • JSON - parsing and generating JSON documents (Crystal stdlib)
    • XML - parsing and generating XML documents (Crystal stdlib)
    • YAML - parsing and generating YAML documents (Crystal stdlib)
    • CSV - parsing and generating for comma-separated values (Crystal stdlib)
    • INI - INI file parser (Crystal stdlib)
    • JSON - parsing and generating JSON documents (Crystal stdlib)
    • XML - parsing and generating XML documents (Crystal stdlib)
    • YAML - parsing and generating YAML documents (Crystal stdlib)
  • Email

  • GUI Development

    • Ultimate GTK4 Crystal Guide - Learn how to create premium GTK4 apps in Crystal
    • crystal-imgui - Bindings to [Dear ImGui](https://github.com/ocornut/imgui), an immediate-mode graphical UI library
    • GTK4.cr - Bindings for [GTK4](https://docs.gtk.org/gtk4/overview.html) with Crystalized API
    • Iu - UI framework based on the [Fusion/libui.cr](https://github.com/Fusion/libui.cr) library, with custom elements and modified bindings from [hedron-crystal/hedron](https://github.com/hedron-crystal/hedron)
  • HTTP

  • Implementations/Compilers

    • charly - Charly Programming Language
    • LinCAS-lang - A programming language for scientific computation
    • myst-lang - A practical, dynamic language designed to be written and understood as easily and efficiently as possible
    • runic-lang - In-design toy language
    • cltk - A crystal port of the Ruby Language Toolkit
    • crisp - Lisp dialect implemented with Crystal
    • mint-lang - A refreshing programming language for the front-end web
    • novika - A free-form, moldable, interpreted programming language
    • myst-lang - A practical, dynamic language designed to be written and understood as easily and efficiently as possible
  • Logging and monitoring

    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
    • crafana - A [Grafana](https://grafana.com/) library to help autogenerate dashboards
    • fiber_metrics.cr - Track run time, wait time, or memory allocations per `Fiber`, method or block
    • statsd.cr - [Statsd](https://github.com/etsy/statsd) client library
    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
    • Log - logging utility (Crystal stdlib)
  • Network Protocols

    • OAuth - OAuth consumer (Crystal stdlib)
    • OAuth2 - OAuth2 client (Crystal stdlib)
    • OpenSSL - bindings to libssl (Crystal stdlib)
    • transfer_more - Clone of transfer.sh to uploads files
    • OAuth - OAuth consumer (Crystal stdlib)
    • OAuth2 - OAuth2 client (Crystal stdlib)
    • OpenSSL - bindings to libssl (Crystal stdlib)
    • OAuth - OAuth consumer (Crystal stdlib)
    • OAuth2 - OAuth2 client (Crystal stdlib)
    • OpenSSL - bindings to libssl (Crystal stdlib)
    • OAuth - OAuth consumer (Crystal stdlib)
    • OAuth2 - OAuth2 client (Crystal stdlib)
    • OpenSSL - bindings to libssl (Crystal stdlib)
    • amqp-client.cr - AMQP 0-9.1, a messaging protocol, implemented by eg. RabbitMQ
    • connect-proxy - Connect method style of HTTP tunnelling / HTTP proxy
    • cr-xmpp - XMPP/Jabber Library
    • Crirc - IRC protocol implementation (Client, Server, Bots)
    • crystal-bacnet - BACnet protocol implementation with BACnet/IP client
    • crystal-dns - DNS protocol implementation and resolver
    • crystal-json-socket - JSON-socket client & server implementation. Inspired by and compatible with [node-json-socket](https://github.com/sebastianseilund/node-json-socket/) and [ruby-json-socket](https://github.com/foi/ruby-json-socket)
    • crystal-mqtt - A MQTT client
    • crystal-snmp - An SNMP implementation with version 1, 2c and 3 support
    • fast_irc.cr - Fast IRC parser/generator
    • jwt - Implementation of JWT (JSON Web Token)
    • knx - KNX protocol implementation supporting multicast, unicast and TCP/IP tunnelling
    • mDNS - DNS Service Discovery and multicast DNS
    • mqtt-client.cr - A fast and lightweight MQTT client
    • msgpack-crystal - MessagePack library
    • simple_rpc - RPC Server and Client for Crystal. Implements msgpack-rpc protocol
    • stomp - STOMP protocol
    • telnet.cr - Telnet protocol
    • OAuth - OAuth consumer (Crystal stdlib)
    • OAuth2 - OAuth2 client (Crystal stdlib)
    • OpenSSL - bindings to libssl (Crystal stdlib)
    • OAuth - OAuth consumer (Crystal stdlib)
    • OAuth2 - OAuth2 client (Crystal stdlib)
    • OpenSSL - bindings to libssl (Crystal stdlib)
  • Template Engine

    • ECR (Embedded Crystal) - compile time template language which uses plain crystal expressions (Crystal stdlib)
    • ECR (Embedded Crystal) - compile time template language which uses plain crystal expressions (Crystal stdlib)
    • ECR (Embedded Crystal) - compile time template language which uses plain crystal expressions (Crystal stdlib)
    • ECR (Embedded Crystal) - compile time template language which uses plain crystal expressions (Crystal stdlib)
    • crinja - An implementation of the [Jinja2 template engine](http://jinja.pocoo.org/)
    • crustache - [{{Mustache}}](https://mustache.github.io) for Crystal
    • Jbuilder - Generate JSON objects with a Builder-style DSL, inspired by jbuilder
    • Kilt - Abstraction layer for template engines
    • Slang - Lightweight, terse, templating language inspired by Ruby's Slim
    • teeplate - A library for rendering multiple template files
    • ECR (Embedded Crystal) - compile time template language which uses plain crystal expressions (Crystal stdlib)
    • ECR (Embedded Crystal) - compile time template language which uses plain crystal expressions (Crystal stdlib)
  • Testing

    • Spec - spec framework (Crystal stdlib)
    • Spec - spec framework (Crystal stdlib)
    • Spec - spec framework (Crystal stdlib)
    • Spec - spec framework (Crystal stdlib)
    • Athena Spec - Common/helpful [Spec](https://crystal-lang.org/api/Spec.html) compliant testing utilities
    • crotest - A tiny and simple test framework
    • crytic - Mutation testing framework
    • hashr - A tiny class makes test on JSON response easier
    • LuckyFlow - Automated browser tests similar to Capybara
    • mass-spec - Web API testing library
    • microtest - Small opinionated testing library focusing on power asserts
    • minitest.cr - Library for unit tests and assertions
    • mocks.cr - Mocking library for Crystal
    • selenium.cr - Selenium client for interacting with web pages for browser automation
    • spectator - Feature rich spec framework that uses the modern expect syntax
    • timecop.cr - Library for mocking with `Time.now`. Inspired by the [timecop ruby gem](https://github.com/travisjeffery/timecop)
    • vcr - A HTTP capture and replay implementation for crystal
    • webdriver_pump - Page Object library. Inspired by Ruby's [WatirPump](https://github.com/bwilczek/watir_pump)
    • webmock.cr - Library for stubbing `HTTP::Client` requests
    • Spec - spec framework (Crystal stdlib)
    • Spec - spec framework (Crystal stdlib)
  • Web Frameworks

    • Chicago Crystal Podcast
    • Chicago Crystal YouTube
    • Crystal Forum
    • Gitter
    • Google Group
    • IRC - #crystal-lang on Freenode
    • Reddit
    • Stackoverflow
    • Chicago Crystal Podcast
    • Chicago Crystal YouTube
    • Gitter
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • lucky - Catch bugs early, forget about most performance issues, and spend more time on code instead of debugging and writing tests
    • amber - Open source efficient and cohesive web application framework
    • Athena - A web framework comprised of reusable, independent components
    • grip - The microframework for writing powerful web applications
    • kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra
    • marten - A web framework that makes building web applications easy, productive, and fun
    • runcobo - An api framework with simple, intuitive and consistent DSL, using jbuilder to render json
    • Shivneri - Component based MVC web framework for crystal targeting good code structures, modularity & performance
    • spider-gazelle - A Rails esque web framework with a focus on speed and extensibility
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • Crystal newsletter
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
    • IRC - #crystal-lang on Freenode
  • Unofficial

  • Official Documentation Translations

    • br.crystal-lang.org - Brazilian
    • ja.crystal-lang.org - Japanese
    • kr.crystal-lang.org - Korean
    • ru.crystal-lang.org - Russian
    • tw.crystal-lang.org - Chinese Traditional
    • carc.in - A web service that runs your code and displays the result
    • Crystal [ANN - Announce new project, blog post, version update or any other Crystal work
    • quicktype - Generate models and serializers from JSON, JSON Schema, GraphQL, and TypeScript
    • shards.info - Web service that lists all repositories on GitHub that have Crystal code in them. The sources are available on [GitHub](https://github.com/mamantoha/shards-info)
    • ja.crystal-lang.org - Japanese
    • Crystal [ANN - Announce new project, blog post, version update or any other Crystal work
    • shards.info - Web service that lists all repositories on GitHub that have Crystal code in them. The sources are available on [GitHub](https://github.com/mamantoha/shards-info)
  • Editor Plugins

  • CLI Utils

    • coin - Command-line application that performs currency conversion via the [Fixer API](https://fixer.io)
    • coin - Command-line application that performs currency conversion via the [Fixer API](https://fixer.io)
    • cride - A light CLI text editor/IDE
    • git-repository - A git cli wrapper querying and cloning remote repositories with minimal data transfer
    • hetzner-k3s - A CLI tool to quickly create and manage Kubernetes clusters in Hetzner Cloud
    • lff - Simple and straightforward large files finder utility in command line
    • meet - Start a jitsi meeting quickly from the comfort of your command line
    • oq - A performant, and portable jq wrapper to facilitate the consumption and output of formats other than JSON; using [jq](https://github.com/stedolan/jq) filters to transform the data
    • progress_bar.cr - A simple and customizable progress bar
    • tablo - A flexible terminal table generator
    • tallboy - Generate ASCII character tables with support for spanning cells over multiple columns
    • climate - Tiny tool to make your CLI output 🌈 coloured
  • Data Generators

    • prime - A prime number generator
    • faker - A library for generating fake data
    • hashids.cr - A library to generate YouTube-like ids from one or many numbers
    • prime - A prime number generator
  • Dependency Injection

    • Crystal-DI - Lightweight DI Container
    • HardWire - A compile-time non-intrusive dependency injection system
    • Athena Dependency Injection - Robust dependency injection service container framework
    • HardWire - A compile-time non-intrusive dependency injection system
    • syringe - A simple and basic dependency injection shard for crystal
    • Crystal-DI - Lightweight DI Container
  • Environment Management

  • Framework Components

    • mochi - Authentication shard inspired by Devise supporting: Authenticable, Confirmable, Invitable & more
    • motion.cr - Object oriented frontend library for Amber
    • Athena Event Dispatcher - A Mediator and Observer pattern event library
    • Athena Negotiation - Framework agnostic content negotiation library
    • device_detector - Shard for detect device by user agent string
    • Exception Page - An exceptional exception page for Crystal web libraries and frameworks
    • graphql - Type-safe [GraphQL](http://graphql.org) server implementation
    • graphql-crystal - [GraphQL](http://graphql.org) implementation
    • kemal-session - Session handler for Kemal
    • mochi - Authentication shard inspired by Devise supporting: Authenticable, Confirmable, Invitable & more
    • motion.cr - Object oriented frontend library for Amber
    • multi-auth - Standardized multi-provider OAuth2 authentication (inspired by omniauth)
    • praetorian - Minimalist authorization library inspired by Pundit
    • Shield - Comprehensive security for *Lucky* framework
    • shrine.cr - File Attachment toolkit for Crystal applications. Heavily inspired by Shrine for Ruby
    • tourmaline - Telegram bot framework with an API loosely based on [telegraf.js](https://telegraf.js.org/)
  • HTML Builders

    • blueprint - Write reusable and testable HTML templates in plain Crystal
    • form_builder.cr - Dead simple HTML form builder for Crystal with built-in support for many popular UI libraries such as Bootstrap
    • to_html - The fastest HTML builder engine for Crystal
    • Water - A library for writing HTML in plain Crystal
  • Misc

    • gphoto2-web.cr - Web API for libgphoto2
    • any_hash.cr - Recursive Hash with better JSON::Any included
    • aasm.cr - Easy to use finite state machine for Crystal classes
    • anyolite - Full mruby interpreter with simple bindings, allowing for easy scripting support in projects
    • burocracia.cr - burocracia.cr the dependecyless shard to validate, generate and format Brazilian burocracias such as CPF, CNPJ and CEP
    • callbacks - Expressive callbacks module
    • circuit_breaker - Implementation of the circuit breaker pattern
    • CrSignals - Signals/slots notification library
    • crystal-binary_parser - Binary parser
    • crystal-web-framework-stars - Web frameworks for Crystal, most starred on Github
    • crz - Functional programming library
    • defined - macros for conditional compilation based on constant definitions, version requirements, or environment variable settings
    • emoji.cr - Emoji library
    • gphoto2-web.cr - Web API for libgphoto2
    • immutable - Implementation of thread-safe, persistent, immutable collections
    • iterm2 - Display images within the terminal using the ITerm2 Inline Images Protocol
    • monads - Monad implementation
    • observable - Implementation of the observer pattern
    • pinger - Ping IP addresses and DNS entries without requiring sudo
    • port_midi - Crystal C bindings for the PortMIDI cross-platform MIDI I/O library
    • retriable.cr - Simple DSL to retry failed code blocks
    • serf-handler.cr - Framework for building Serf handlers, with a suite of useful builtin capabilities
    • simple_retry - Simple tool for retrying failed code blocks
    • sslscan.cr - Crystal shard wrapping the rbsec/sslscan utility
    • version_tools - Version-dependent behaviour, specified at compile-time
    • wafalyzer - Web Application Firewall (WAF) Detector - shard + cli
    • zaru_crystal - Filename sanitization
  • Queues and Messaging

    • sidekiq.cr - Simple, efficient job processing
    • crafka - Apache Kafka library utilizing `librdkafka`
    • NATS.io - NATS client
    • sidekiq.cr - Simple, efficient job processing
  • Algorithms and Data structures

    • bisect - Inserting values into a sorted array
    • blurhash.cr - [BlurHash](https://github.com/woltapp/blurhash) implementation
    • crie - Compile-time Trie
    • CrOTP - HOTP and TOTP implementation for two factor authentication
    • crystal-linked-list - Implementation of Linked List
    • crystaledge - A pure Vector Math library
    • crystalg - A Generic Algorithm Library
    • crystalline - A collection of containers and algorithms
    • csuuid - A Chronologically Sortable UUID
    • edits.cr - Collection of edit distance algorithms
    • fzy - A Crystal port of awesome Fzy project fuzzy finder algorithm
    • Goban - A fast and efficient QR Code implementation
    • graphlb - Collection of graph datastructure and algorithms
    • haversine - An Implementation of the Haversine formula
    • HKDF - HMAC-based Extract-and-Expand Key Derivation Function [rfc5869](https://www.rfc-editor.org/rfc/rfc5869)
    • kd_tree - An implementation of "K-Dimensional Tree" and "N-Nearest Neighbors"
    • ksuid.cr - K-Sortable Globally Unique IDs
    • markov - Build Markov Chains and run Markov Processes
    • multiset.cr - Implementation of a multiset
    • named_information - Naming Things with Hashes [rfc6920](https://datatracker.ietf.org/doc/html/rfc6920)
    • qr-code - QR Code generator
    • radix - Radix Tree implementation
    • s2_cells - [S2 Geometry](https://s2geometry.io/devguide/s2cell_hierarchy.html) for spatial indexing
    • secure-remote-password - SRP-6a protocol for authentication over an insecure network
    • SPAKE2+ - Password Authenticated Key Exchange (PAKE) protocol, comparable to SRP-6a
    • splay_tree_map - Splay Tree implementation that conforms to the Hash ducktype
    • verhoeff - Implementation of the Verhoeff checksum algorithm
  • Blockchain

    • Axentro - A custom blockchain platform
    • Cocol - A minimal blockchain testbed
    • secp256k1.cr - Elliptic curve used in the public-private-key cryptography
  • C bindings

    • augeas.cr - Bindings for [Augeas](https://augeas.net/)
    • clang.cr - Libclang bindings
    • crt.cr - Bindings for libncursesw and crt
    • crystal-gsl - Bindings for [GNU Scientific Library](https://www.gnu.org/software/gsl/)
    • crystal-hunspell - Bindings for [Hunspell](https://hunspell.github.io/)
    • duktape.cr - Bindings for the [Duktape](https://github.com/svaarala/duktape) javascript engine
    • fftw.cr - Bindings for [FFTW](https://fftw.org/) library
    • gphoto2.cr - Bindings for the [libgphoto2](http://www.gphoto.org/) library
    • gpio.cr - Bindings for the gpiod library (general purpose IO control and feedback)
    • icu.cr - Bindings for the [ICU](http://site.icu-project.org/) library
    • libnotify.cr - Bindings for Libnotify
    • nlopt.cr - Bindings for [NLOpt](https://nlopt.readthedocs.io/en/latest/)
    • pcap.cr - Bindings for libpcap
    • pledge.cr - Bindings for OpenBSD's `pledge(2)`
    • ssh2.cr - Bindings for libssh2 library
    • syslog.cr - Bindings for `syslog`
    • v4l2.cr - Bindings for [Video4Linux2](https://en.wikipedia.org/wiki/Video4Linux)
    • wasmer-crystal - Bindings for the `wasmer` WebAssembly runtime
    • win32cr - Bindings for Win32 API
    • x_do.cr - Bindings for libxdo ([`xdotool`](https://github.com/jordansissel/xdotool))
  • Caching

  • Code Analysis and Metrics

    • ameba - A static code analysis tool
    • linguist.cr - Using multiple ways to find programming language used in files, based on Github's Linguist
  • Configuration

    • cr-dotenv - Loads .env file
    • Envy - Load environment variables from YAML
    • envyable - A simple YAML to ENV config loader
    • habitat - Type safe configuration for your classes and modules
    • totem - Load and parse a configuration in JSON, YAML, dotenv formats
  • Converters

    • base62.cr - Base62 encoder/decoder, well suited for url-shortening
    • crunits - Tool for converting units of measure (miles to kilometers, celsius to fahrenheit etc)
    • money - Handling money and currency conversion with ease (almost complete port of [RubyMoney](https://github.com/RubyMoney/money))
    • sass.cr - Compile SASS/SCSS to CSS ([libsass](https://github.com/sass/libsass/) binding)
  • Cryptography

    • cmac - Crystal implementation of Cipher-based Message Authentication Code (CMAC)
    • ed25519 - the Ed25519 elliptic curve public-key signature system
    • monocypher.cr - Crystal wrapper for the Monocypher crypto library
    • sodium.cr - Crystal wrapper for the libsodium crypto API
  • Database Drivers/Clients

  • Database Tools

    • migrate - A simpler database migration tool with transactions
  • Debugging

    • backtracer.cr - Shard aiming to assist with parsing backtraces into a structured form
    • debug.cr - `debug!(…)` macro for `pp`-style debugging
  • Examples and funny stuff

  • Game Development

    • CrSFML - Bindings to [SFML](https://www.sfml-dev.org/) multimedia/game library
    • crystal-chipmunk - Bindings to [Chipmunk](http://chipmunk-physics.net/), a fast and lightweight 2D game physics library
    • crystal-imgui-sfml - Bindings to integrate [Dear ImGui](https://github.com/ocornut/imgui) into an [SFML](https://www.sfml-dev.org/) project
    • entitas.cr - A Entity Component System Framework for Crystal
    • MyECS - A Sparse Entity Component System Framework for Crystal
    • Raylib-cr - Direct bindings to [Raylib](https://raylib.com), which supports Linux, Windows, and Mac
    • SDL-Crystal-Bindings - Direct (unsafe) bindings to [SDL2](https://www.libsdl.org/), intended for writing own game libraries
  • HTML/XML Parsing

  • Image processing

    • celestine - Create SVG images using a DSL
    • ffmpeg - FFmpeg bindings that works with StumpyPNG to extract frames
    • Pluto - A fast and convenient image processing library
    • stumpy_png - Read and write PNG images
  • Internationalization

    • crystal-i18n - An internationalization library inspired by Ruby-I18n
    • i18n.cr - Internationalization shard
    • Lens - A multiformat internationalization (i18n) shard for Crystal. Supports Gettext, Ruby YAML, etc.
    • Rosetta - A blazing fast internationalization (i18n) library with compile-time key lookup supporting YAML and JSON formats
  • Machine Learning

    • ai4cr - Artificial Intelligence (based on https://github.com/SergioFierens/ai4r)
    • Cadmium - NLP library based heavily on [natural](https://github.com/NaturalNode/natural)
    • crystal-fann - FANN (Fast Artifical Neural Network) binding
    • mxnet.cr - Bindings for [MXNet](https://mxnet.incubator.apache.org/)
    • shainet - SHAInet (Neural Network in pure crystal)
  • Markdown/Text Processors

    • cr-cmark-gfm - Crystal C bindings for cmark-gfm to work with Commonmark and Github Flavored Markdown
    • markd - Yet another markdown parser built for speed, Compliant to CommonMark specification
  • Networking

  • ORM/ODM Extensions

    • avram - A database wrapper for reading, writing, and migrating Postgres databases
    • clear - ORM specialized to PostgreSQL only but with advanced features
    • crecto - Database wrapper, based on Ecto
    • granite - ORM for Postgres, Mysql, Sqlite
    • jennifer.cr - Active Record pattern implementation with flexible query chainable builder and migration system
    • rethinkdb-orm - ORM for RethinkDB / RebirthDB
  • Package Management

    • shards - Dependency manager for the Crystal
  • Processes and Threads

    • await_async - Add keywords await & async in Crystal Lang
    • concurrent.cr - Simplified concurrency using streams/pipelines, waitgroups, semaphores, smores and more
    • neph - A modern command line job processor that can execute jobs concurrently
    • promise - A Promise implementation with type inference
    • werk - Dead simple task runner with concurrent support, ideal for local CI
  • Project Generators

    • crystal_lib - Automatic binding generator for native libraries
    • fez - A Kemal application generator
    • libgen - Automatic bindings generator configured using JSON/YAML files
  • Routing

    • orion - A minimal, rails-esque routing library
    • router.cr - Minimum but powerful http router for HTTP::Server
  • Scheduling

    • crystime - Advanced time, calendar, schedule, and remind library
    • schedule.cr - Run periodic tasks
    • tasker - A high precision scheduler including timezone aware cron jobs
  • Science and Data analysis

    • alea - Repeatable sampling, CDF and other utilities to work with probability distributions
    • ishi - Graph plotting package with a small API and sensible defaults powered by gnuplot
    • linalg - Linear algebra library inspired by MATLAB and SciPy.linalg
    • num.cr - Numerical computing library supporting N-Dimensional data
    • predict.cr - Satellite prediction library using the sgp4 model
    • quartz - Modeling and simulation framework
    • hermes - Data Mapper pattern implementation for ElastiSearch
  • Serverless Computing

    • secrets-env - Extends ENV module to read values injected by docker / kubernetes secrets and other orchestration tools
    • crystal_openfaas - Template to enable crystal as first class citizens in OpenFaaS
  • System

    • baked_file_system - Virtual file system implementation
    • hardware - Get CPU, Memory and Network informations of the running OS and its processes
  • Task management

    • cake - Production-ready Make-like utility tool
    • sam - Another one Rake-like task manager with namespacing and arguments system
  • Third-party APIs

    • amazonite - An unofficial SDK supporting popular AWS APIs
    • aws-signer.cr - This library signs your HTTP requests using AWS v4
    • awscr-s3 - AWS S3 interface
    • awscr-signer - Sign HTTP::Request objects and generate presigned post forms
    • crystal-consul - Consul API client
    • crystal-darksky - Wrapper for the [Dark Sky](https://darksky.net) API
    • crystal-swapi - Star Wars API (SWAPI) wrapper
    • crystal_slack - A tool that parses Slack slash commands or send incoming web hooks
    • GDAX - GDAX REST and WebSocket API Wrapper with request signing
    • gitlab.cr - GitLab API wrapper
    • google - Google API wrapper
    • host_meta - A Web Host Metadata (https://tools.ietf.org/html/rfc6415) client
    • kube-client.cr - Kubernetes API Client
    • mixpanel-crystal - A library for sending events to Mixpanel
    • mollie.cr - [Mollie](https://www.mollie.com/en/) Payments API wrapper (Creditcard, PayPal, Apple Pay, Sofort, Klarna, ...)
    • office365 - Microsoft Graph API wrapper
    • pinboard.cr - [Pinboard](https://pinboard.in) API
    • raven.cr - Raven is a client for [Sentry](https://github.com/getsentry/sentry)
    • stripe.cr - Stripe api wrapper
    • tmdb.cr - The Movie DB (TMDb) api wrapper
    • twitter-crystal - A library to access the Twitter API
    • web_finger - A WebFinger (https://tools.ietf.org/html/rfc7033) client
    • ynab.cr - A library to interact with your YNAB data
  • Validation

Sub Categories