awesome-crystal
https://github.com/veelenga/awesome-crystal
https://github.com/sara0871/awesome-crystal
Last synced: 14 days ago
JSON representation
Algorithms and Data structures
- aho_corasick - AhoCorasick algorithm
- crystal-diff - A Crystal sequence differencing implementation
- crystaledge - A pure Vector Math library
- crystalline - A collection of containers and algorithms
- delimiter_tree - A tree structure that is built using a delimiter
- edits.cr - Collection of edit distance algorithms
- markov - Build Markov Chains and run Markov Processes
- miller_rabin - Implements Miller-Rabin algorithm to check if a number is prime
- multiset.cr - Implementation of a multiset
- murmur3 - Implementation of Murmur3 hash algorithm used by Cassandra
- oak - A flexible Radix Tree implementation
- radix - Radix Tree implementation
- ternary_search_tree - Ternary Search Tree
- text - A collection of text algorithms
- crystal-linked-list - Implementation of Linked List
- crystalg - A Generic Algorithm Library
- hash_ring - An Implementation of Consistent Hash Ring
Api Builders
- kemal-rest-api - A library to create RESTful API with Kemal
Blockchain
- SushiChain - A custom blockchain platform
Caching
- bloom_filter - Implementation of Bloom filter
- bojack - A non-reliable in-memory key-value store
- cache-hash - A key/value store where entries expire after a specified interval
- crystal-memcached - Implementation of a memcached client
- Nuummite - A tiny persistent embedded key-value store
C bindings
- asound-cr - Bindings for ALSA/libasound
- cairo-cr - Bindings for Cairo graphics library
- crass - Bindings for libsass
- crt.cr - Bindings for libncursesw and crt
- crystal-gsl - GNU Scientific Library bindings
- curl-crystal - Bindings for libcurl
- duktape.cr - Bindings for the Duktape javascript engine
- gphoto2.cr - Bindings for the libgphoto2 library
- icu.cr - Bindings for the ICU library
- libnotify.cr - Bindings for Libnotify
- pcap.cr - Bindings for libpcap
-
pledge.cr
- Bindings for OpenBSD's
pledge(2) - posix - POSIX/C bindings
- soundfile - Bindings for libsndfile library
- ssh2.cr - Bindings for libssh2 library
- termbox-crystal - Bindings and extension library for termbox (terminal UI library)
- x11-cr - X11 bindings
-
x_do.cr
- Bindings for libxdo (
xdotool) - clang.cr - Libclang bindings
Cli Builders
- admiral - A robust DSL for writing command line interfaces
- cli - Library for building command-line interface applications
- clicr - A simple declarative command line interface builder
- clim - Slim command line interface builder
- commander - Command-line interface builder
- completion - Easy command line completion engine
- optarg - Yet another library for parsing command-line options and arguments
- OptionParser - command-line options processing (Crystal stdlib)
Cli Utils
- cride - A light CLI text editor/IDE
- dl - Simple utility for download files by URLs from list
- noteesh - Notes and Todo list in command line
- progress - [==..] Progress bar
- progress_bar.cr - A simple and customizable progress bar
- spinner - Terminal Spinner
- terminal_table.cr - Simple ASCII table generator
- todo - Todo list working in command line
Code Analysis and Metrics
Configuration
Converters
- base62.cr - Base62 encoder/decoder, well suited for url-shortening
- human_file_size.cr - JSON & YAML mapping converter for human file sizes in serialized data
- money - Handling money and currency conversion with ease (almost complete port of RubyMoney)
- moola - Library for dealing with money and conversion (inspired by RubyMoney)
- ms - Library to easily convert various time formats to milliseconds and milliseconds to human readable format
- sass.cr - Compile SASS/SCSS to CSS (libsass binding)
- time_format.cr - Convert time in human readable format with ease
- turkish-number - Turn integers into the Turkish words
- wkhtmltopdf-crystal - Bindings / wrapper for libwkhtmltox (HTML to PDF / image converter)
Database Drivers/Clients
- arangocr - ArangoDB client
- crystal-db - Common db api
- crystal-monetdb-libmapi - Bindings for MonetDB
- crystal-mysql - MySQL connector for Crystal
- crystal-pg - A Postgres driver
- crystal-redis - Full featured Redis client
- crystal-sqlite3 - SQLite3 bindings
- eventql-crystal - EventQL driver
- leveldb - Crystal bindings for LevelDB
- mongo.cr - Binding for MongoDB C driver
- rocksdb.cr - RocksDB client
- tarantool-crystal - Tarantool driver
- rethinkdb.cr - RethinkDB Driver
Database Tools
- crecto-admin - Admin dashboard for Crecto and your database
- migrate - A simpler database migration tool with transactions
- migro - A database migration tool that allows migrations to be specified in either YAML or raw SQL
- micrate - Database migration tool
Data Formats
- config.cr - Easy to use configuration format parser
- crinder - Class based json renderer
- dockerfile.cr - Dockerfile Parsing Library
- front_matter.cr - Separates a files front matter from its content
- maxminddb.cr - parsing MaxMindDB files, including the GeoIP2
- zq - Command-line ZPL processor
- Zip - readers and writers of zip format (Crystal stdlib)
- Gzip - readers and writers of gzip format (Crystal stdlib)
- Zlib - readers and writers of zlib format (Crystal stdlib)
- crystal-toml - 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)
Data Generators
- faker - A library for generating fake data
- hashids.cr - A library to generate YouTube-like ids from one or many numbers
Development Tools
- guardian - File change watcher for Crystal and Non-Crystal libs
- kemal-watcher - Kemal plugin to watch files and live-reload the browser
- sentry - Watches src files, rebuilds/reruns application on file changes
- sentry-run - Reload code changes using Sentry.run
- Warden - Watches files, run command and a git command if succeed on file changes
- watcher - Watch file changes using File.stat
DevOps
- ansible-crystal - Ansible playbook for installing crystal
- capistrano-kemal - Capistrano Plugin for Kemal
- crystal-cookbook - Chef cookbook for installing crystal
Editor Plugins
- emacs-crystal-mode - Crystal language support for Emacs
- play-crystal.el - play.crystal-lang.org integration in Emacs
- scry - Code analysis server for Crystal implementing the Language Server Protocol
- crystal-spacemacs-layer - Spacemacs contribution layer for Crystal
- sublime-crystal - Crystal syntax highlighting for sublime Text
- Crystal.tmbundle - Crystal syntax highlighting, compile, format command, snippets
- carcin.vim - Vim plugin to provide utility functions for carc.in
- vim-slang - Vim filetype support for Slang Templating Engine
- vscode-crystal - Crystal language support in VSCode
- vscode-crystal-ide - Crystal IDE powered by Language Server Protocol
-
vscode-crystal-lang
- Formatter, linter and syntax highlighting for
crandecrfiles - vim-crystal - Vim filetype support for Crystal
- carbon - Fun, testable, and adapter-based email library
- crystal-email - Simple e-mail sending library
- CrystalEmail - A RFC compliant Email validator
- devmail - A combined SMTP/POP3-server with volatile mail storage
- sendgrid.cr - Simple Sendgrid Client
Environment Management
- rcm.cr - Redis Cluster Manager
- asdf-crystal - Plugin for asdf version manager
- crenv - Crystal version manager
Examples and funny stuff
- battlesnake_crystal - Tron snake for battlesnake competition
- breakout.cr - Breakout game written using crsfml
- chuck-norris-holy-quotes - Chuck Norris holy quotes
- clamp - Clamp any Comparable
- crsfml-examples - Simple games made with CrSFML
- crystal-benchmarks-game - The Computer Language Benchmarks Game
- crystal-by-example - Crystal By Example
- crystal-mysql-crud-example - Crystal MySQL CRUD example
- crystal-patterns - Examples of GOF patters
- crystalized_ruby - Native Ruby extensions written in Crystal
- exercism-crystal - Exercism exercises
- jihantoro-cr-mysql - Crystal MySQL from scratch sample app
- jihantoro.sd - Crystal & Kemal version of Serdar Dogruyol blog
- kemal-chat - Build realtime applications with Kemal and WebSocket
- kemal-heroku-example - This repository shows, how you can publish your open source apps which powered kemal framework publish as heroku app in seconds
- kemal-mysql-blog - Blog written with Crystal, Kemal and MySQL
- kemal-react-chat - Build Realtime Web applications with Kemal and React
- kemal-vue-chat - Build Realtime Web applications with Kemal and Vue.js
- lattice-core-card-game - A demo web app for (WebSocket-based) lattice-core
- medley - A mixture of music related methods
- os-crystal - x86 Kernel implemented in Crystal
- realtime-todo-app - Realtime Todo application developed with Kemal, Websockets, React, ES2015 and PostgreSQL
- rocky - React Over Crystal Kemal and Yarn
- try.cr - Try monad
- Crystal-Maze - A* Path finding for PNG mazes
Feature Flipping
- flipper - Feature flipping/flags/rollouts. Supports multiple backends
Framework Components
- cr-melon - Class based Http APIs
- crystal-mime - Mimetypes for Crystal
- device_detector - Shard for detect device by user agent string
- Exception Page - An exceptional exception page for Crystal web libraries and frameworks
- graphql-crystal - Graphql implementation
- kave - Kemal API Version Extension
- kemal-auth-token - Kemal middleware to authentication via HTTP header token using JWT
- kemal-monetdb - MonetDB Data connection for Kemal
- kemal-session - Session handler for Kemal
- multi-auth - Standardized multi-provider OAuth2 authentication (inspired by omniauth)
- phoenix.cr - Phoenix Channels client
- request_id - Middleware for generates / pick up a unique request ID for Crystal servers
- response_time - Response time for Crystal servers (pure http server, kemal, etc.)
- spec-kemal - Easy testing for Kemal
- tele-broadcast.cr - Broadcasting module for tele.cr
- Crystal-DI - Lightweight DI Container
- mime-types.cr - A port of the Ruby MIME-types library
Game Development
- cray - Bindings for raylib, an easy-to-use game development library
- CrSFML - Bindings to SFML multimedia/game library
- crystal-chipmunk - Bindings for Chipmunk, a fast and lightweight 2D game physics library
- mos_game - Mini Offline Singleplayer game
- inari - A collection of games using Glove as the game engine
- glove - A library for gaming development
GUI library
HTML/XML Parsing
- crystagiri - An Html Reader / parser like Nokogiri Ruby gem
- gumbo-crystal - Bindings for Gumbo, an HTML5 parsing library made by Google
- hq.cr - Simple wrapper for crystal-xml
- modest - CSS selectors for HTML5 Parser myhtml
- myhtml - Fast HTML5 Parser
HTTP
- cossack - Simple flexible HTTP client
- crest - Simple HTTP and REST client, inspired by the Ruby's RestClient gem
- crul - Command line HTTP client
- cryload - HTTP benchmarking tool
- halite - Crystal HTTP Requests with a chainable REST API, built-in sessions and loggers
- helmet - Set security-related HTTP headers
- http-multiserver.cr - Mounting multiple servers via routes (a.k.a. URL mapping)