Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- CrystalEmail - A RFC compliant Email validator
- carbon - Fun, testable, and adapter-based email library
- crystal-email - Simple e-mail sending library
- sendgrid.cr - Simple Sendgrid Client
-
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
- HTTP::Client - HTTP client (Crystal stdlib)
- HTTP::Server - HTTP server (Crystal stdlib)
- HTTP::WebSocket - HTTP WebSocket client (Crystal stdlib)
- HTTP::Client - HTTP client (Crystal stdlib)
- HTTP::Server - HTTP server (Crystal stdlib)
- HTTP::WebSocket - HTTP WebSocket client (Crystal stdlib)
- HTTP::Client - HTTP client (Crystal stdlib)
- HTTP::Server - HTTP server (Crystal stdlib)
- HTTP::WebSocket - HTTP WebSocket client (Crystal stdlib)
- HTTP::Client - HTTP client (Crystal stdlib)
- HTTP::Server - HTTP server (Crystal stdlib)
- HTTP::WebSocket - HTTP WebSocket client (Crystal stdlib)
- Cable - An ActionCable "port" to Crystal, framework agnostic, 100% compatible with the ActionCable JS Client
- cossack - Simple flexible HTTP client
- crest - Simple HTTP and REST client, inspired by the Ruby's RestClient gem
- crul - Command line HTTP client
- digest-auth - Digest authentication
- halite - Crystal HTTP Requests with a chainable REST API, built-in sessions and loggers
- http-multiserver.cr - Mounting multiple servers via routes (a.k.a. URL mapping)
- http-params-serializable - HTTP params (de)serialization, applicable to URL queries and URL-encoded forms
- http-protection - Protection against typical web attacks
- http2 - HTTP/2 Protocol Implementation
- link-header - HTTP Link Header Parser
- ntlm - NTLM authentication
- proxy-fetcher.cr - Proxy lists fetching & validating library
- sse.cr - [Server-Sent Events](https://html.spec.whatwg.org/multipage/server-sent-events.html) client
- HTTP::Client - HTTP client (Crystal stdlib)
- HTTP::Server - HTTP server (Crystal stdlib)
- HTTP::WebSocket - HTTP WebSocket client (Crystal stdlib)
- HTTP::Client - HTTP client (Crystal stdlib)
- HTTP::Server - HTTP server (Crystal stdlib)
- HTTP::WebSocket - HTTP WebSocket client (Crystal stdlib)
-
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
- 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
- Crystal Programming Discord Server - Unofficial Discord server dedicated to the Crystal Programming Language
- Portuguese-speaking Telegram Group - Bem vindos ao Crystal Brasil!
- Crystal for Rubyists - Free book to bootstrap your Crystal journey
- Crystal Shards for Ruby Gems - A list of Ruby Gems and their Crystal Shards equivalents
- crystal-lang.org - Official language site
- devdocs.io - API Documentation Browser with Crystal support
- Programming Crystal - PragProg book to start your Crystal journey
- Crystal Programming Discord Server - Unofficial Discord server dedicated to the Crystal Programming Language
- Crystal for Rubyists - Free book to bootstrap your Crystal journey
- crystal-lang.org - Official language site
- Programming Crystal - PragProg book to start your Crystal journey
- crystal-koans - Learn Crystal by writing unit tests
- Usability of Programming Languages - Comparison of Python, Rust, Crystal
- Learn X in Y minutes - Quick tutorial on Crystal
- Chinese-speaking Telegram Group - 来吧!TG 中文圈的朋友们!
- Russian-speaking Telegram Group - Добро пожаловать, товарищ!
-
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
- crystal-tools - Enables built in tools in Crystal compiler
- language-crystal-actual - Crystal language support in Atom
- crystal-mode - Crystal language support for Emacs ([crystal-lang-tools/emacs-crystal-mode](https://github.com/crystal-lang-tools/emacs-crystal-mode))
- crystal-tools - Enables built in tools in Crystal compiler
- language-crystal-actual - Crystal language support in Atom
-
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
- asdf-crystal - Plugin for asdf version manager
- crenv - Crystal version manager
- rcm.cr - Redis Cluster Manager
- vfox-crystal - Plugin for vfox version manager
- asdf-crystal - Plugin for asdf version manager
-
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
- crystal-memcached - Implementation of a memcached client
-
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
-
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
- couchdb.cr - CouchDB client
- cryomongo - MongoDB driver
- crystal-db - Common db api
- crystal-ldap - LDAP client
- crystal-mysql - MySQL connector for Crystal
- crystal-pg - A Postgres driver
- crystal-redis - Full featured Redis client
- crystal-rethinkdb - Driver for RethinkDB / RebirthDB
- crystal-sqlite3 - SQLite3 bindings
- leveldb - Crystal bindings for LevelDB
- rocksdb.cr - RocksDB client
- surrealdb.cr - Unoffical SurrealDB HTTP & Websocket Client
-
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
- blackjack-cr - Console Blackjack
- crystal-patterns - Examples of GOF patters
- crystalworld - [realworld.io](https://realworld.io) back-end API implementation
- exercism-crystal - Exercism exercises
- try.cr - Try monad
-
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
- docx_cr_converter - parse DOCX Word
- myhtml - Fast HTML5 Parser that includes CSS selectors
-
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
- ipaddress.cr - Library to handle IPv4 and IPv6 addresses
- mac-address - Library for working with MAC addresses
-
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
-
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
-
Search
- 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
-
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
- accord - Shareable validation library for Crystal Objects
- Athena Validator - Robust & flexible validation framework
- validations - Validations mixin
- validator - Data check and validation
Programming Languages
Categories
Data Formats
41
Network Protocols
37
Compression
37
Web Frameworks
36
HTTP
32
Algorithms and Data structures
27
Misc
27
Third-party APIs
23
Testing
21
C bindings
20
Unofficial
16
Framework Components
16
Logging and monitoring
14
CLI Builders
13
CLI Utils
12
Template Engine
12
Official Documentation Translations
12
Database Drivers/Clients
12
Implementations/Compilers
9
Game Development
7
Science and Data analysis
6
ORM/ODM Extensions
6
Dependency Injection
6
Editor Plugins
5
Examples and funny stuff
5
Environment Management
5
Configuration
5
Processes and Threads
5
Machine Learning
5
Validation
4
Cryptography
4
Data Generators
4
Email
4
GUI Development
4
Converters
4
Image processing
4
Queues and Messaging
4
Internationalization
4
HTML Builders
4
Scheduling
3
Project Generators
3
Blockchain
3
Task management
2
Networking
2
HTML/XML Parsing
2
Debugging
2
System
2
Serverless Computing
2
Code Analysis and Metrics
2
Routing
2
Markdown/Text Processors
2
Search
1
Database Tools
1
Caching
1
Package Management
1
Sub Categories
Keywords
crystal
202
crystal-lang
32
crystal-language
27
testing
10
cli
10
shard
8
database
7
json
7
shards
7
kemal
6
bindings
6
web-framework
6
component
6
lucky-framework
5
orm
5
internationalization
5
api
5
framework
5
web
5
language
5
yaml
4
data-structures
4
http
4
crystal-shard
4
configuration
4
mysql
4
machine-learning
4
router
3
security
3
locale
3
postgres
3
l10n
3
middleware
3
spec
3
localization
3
command-line
3
translation
3
i18n
3
markdown
3
html
3
parser
3
aws
3
fast
3
blockchain
3
rspec
2
devops
2
linear-algebra
2
driver
2
programming-language
2
neural-network
2