Files
awesome-awesomeness/html/crystal.html
2024-04-20 19:22:54 +02:00

1358 lines
61 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<p><a
href="https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md"><img
src="https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct.svg"
alt="SWUbanner" /></a></p>
<p align="center">
<img src="logo/logotype_horizontal.jpg" alt="awesome-crystal">
</p>
<h1 id="awesome-crystal">Awesome Crystal</h1>
<p><a href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></p>
<p>A curated list of awesome Crystal code and resources. Inspired by <a
href="https://github.com/sindresorhus/awesome">awesome</a> and <a
href="https://github.com/bayandin/awesome-awesomeness">awesome-awesomeness</a>.
The goal is to have projects mostly stable and useful for the
community.</p>
<p>Search shards at <a href="https://shards.info">shards.info</a> or
follow announcements <a href="https://crystal-ann.com">Crystal [ANN]</a>
for more.</p>
<p>Contributions are welcome. Please take a quick look at the <a
href="https://github.com/veelenga/awesome-crystal/blob/master/.github/CONTRIBUTING.md">contribution
guidelines</a> first.</p>
<ul>
<li><a href="#awesome-crystal">Awesome Crystal</a>
<ul>
<li><a href="#algorithms-and-data-structures">Algorithms and Data
structures</a></li>
<li><a href="#blockchain">Blockchain</a></li>
<li><a href="#c-bindings">C Bindings</a></li>
<li><a href="#caching">Caching</a></li>
<li><a href="#cli-builders">CLI Builders</a></li>
<li><a href="#cli-utils">CLI Utils</a></li>
<li><a href="#code-analysis-and-metrics">Code Analysis and
Metrics</a></li>
<li><a href="#compression">Compression</a></li>
<li><a href="#configuration">Configuration</a></li>
<li><a href="#converters">Converters</a></li>
<li><a href="#cryptography">Cryptography</a></li>
<li><a href="#data-formats">Data Formats</a></li>
<li><a href="#data-generators">Data Generators</a></li>
<li><a href="#database-driversclients">Database Drivers/Clients</a></li>
<li><a href="#database-tools">Database Tools</a></li>
<li><a href="#debugging">Debugging</a></li>
<li><a href="#dependency-injection">Dependency Injection</a></li>
<li><a href="#email">Email</a></li>
<li><a href="#environment-management">Environment Management</a></li>
<li><a href="#examples-and-funny-stuff">Examples and funny
stuff</a></li>
<li><a href="#framework-components">Framework Components</a></li>
<li><a href="#game-development">Game Development</a></li>
<li><a href="#gui-development">GUI Development</a></li>
<li><a href="#html-builders">HTML Builders</a></li>
<li><a href="#htmlxml-parsing">HTML/XML parsing</a></li>
<li><a href="#http">HTTP</a></li>
<li><a href="#image-processing">Image Processing</a></li>
<li><a
href="#implementationscompilers">Implementations/Compilers</a></li>
<li><a href="#internationalization">Internationalization</a></li>
<li><a href="#logging-and-monitoring">Logging and monitoring</a></li>
<li><a href="#machine-learning">Machine Learning</a></li>
<li><a href="#markdowntext-processors">Markdown/Text Processors</a></li>
<li><a href="#misc">Misc</a></li>
<li><a href="#network-protocols">Network Protocols</a></li>
<li><a href="#networking">Networking</a></li>
<li><a href="#ormodm-extensions">ORM/ODM Extensions</a></li>
<li><a href="#package-management">Package Management</a></li>
<li><a href="#processes-and-threads">Processes and Threads</a></li>
<li><a href="#project-generators">Project Generators</a></li>
<li><a href="#queues-and-messaging">Queues and Messaging</a></li>
<li><a href="#routing">Routing</a></li>
<li><a href="#scheduling">Scheduling</a></li>
<li><a href="#science-and-data-analysis">Science and Data
analysis</a></li>
<li><a href="#search">Search</a></li>
<li><a href="#serverless-computing">Serverless Computing</a></li>
<li><a href="#system">System</a></li>
<li><a href="#task-management">Task management</a></li>
<li><a href="#template-engine">Template Engine</a></li>
<li><a href="#testing">Testing</a></li>
<li><a href="#third-party-apis">Third-party APIs</a></li>
<li><a href="#validation">Validation</a></li>
<li><a href="#web-frameworks">Web Frameworks</a></li>
</ul></li>
<li><a href="#community">Community</a>
<ul>
<li><a href="#unofficial">Unofficial</a></li>
</ul></li>
<li><a href="#resources">Resources</a>
<ul>
<li><a href="#official-documentation-translations">Official
Documentation Translations</a></li>
</ul></li>
<li><a href="#services-and-apps">Services and Apps</a></li>
<li><a href="#tools">Tools</a>
<ul>
<li><a href="#devops">DevOps</a></li>
<li><a href="#editor-plugins">Editor Plugins</a></li>
<li><a href="#lsp-language-server-protocol-implementations">LSP Language
Server Protocol Implementations</a></li>
<li><a href="#shell-plugins">Shell Plugins</a></li>
</ul></li>
</ul>
<h2 id="algorithms-and-data-structures">Algorithms and Data
structures</h2>
<ul>
<li><a href="https://github.com/spider-gazelle/bisect">bisect</a> -
Inserting values into a sorted array</li>
<li><a href="https://github.com/Sija/blurhash.cr">blurhash.cr</a> - <a
href="https://github.com/woltapp/blurhash">BlurHash</a>
implementation</li>
<li><a href="https://github.com/c910335/crie">crie</a> - Compile-time
Trie</li>
<li><a href="https://github.com/philnash/crotp">CrOTP</a> - HOTP and
TOTP implementation for two factor authentication</li>
<li><a
href="https://github.com/abvdasker/crystal-linked-list">crystal-linked-list</a>
- Implementation of Linked List</li>
<li><a href="https://github.com/unn4m3d/crystaledge">crystaledge</a> - A
pure Vector Math library</li>
<li><a href="https://github.com/tobyapi/crystalg">crystalg</a> - A
Generic Algorithm Library</li>
<li><a
href="https://github.com/jtomschroeder/crystalline">crystalline</a> - A
collection of containers and algorithms</li>
<li><a href="https://github.com/wyhaines/csuuid.cr">csuuid</a> - A
Chronologically Sortable UUID</li>
<li><a href="https://github.com/tcrouch/edits.cr">edits.cr</a> -
Collection of edit distance algorithms</li>
<li><a href="https://github.com/hugopl/fzy">fzy</a> - A Crystal port of
awesome Fzy project fuzzy finder algorithm</li>
<li><a href="https://github.com/soya-daizu/goban">Goban</a> - A fast and
efficient QR Code implementation</li>
<li><a href="https://github.com/mettuaditya/graphlb">graphlb</a> -
Collection of graph datastructure and algorithms</li>
<li><a href="https://github.com/geocrystal/haversine">haversine</a> - An
Implementation of the Haversine formula</li>
<li><a href="https://github.com/spider-gazelle/HKDF">HKDF</a> -
HMAC-based Extract-and-Expand Key Derivation Function <a
href="https://www.rfc-editor.org/rfc/rfc5869">rfc5869</a></li>
<li><a href="https://github.com/geocrystal/kd_tree">kd_tree</a> - An
implementation of “K-Dimensional Tree” and “N-Nearest Neighbors”</li>
<li><a href="https://github.com/Sija/ksuid.cr">ksuid.cr</a> - K-Sortable
Globally Unique IDs</li>
<li><a href="https://github.com/mccallofthewild/markov">markov</a> -
Build Markov Chains and run Markov Processes</li>
<li><a href="https://github.com/tcrouch/multiset.cr">multiset.cr</a> -
Implementation of a multiset</li>
<li><a
href="https://github.com/spider-gazelle/named_information">named_information</a>
- Naming Things with Hashes <a
href="https://datatracker.ietf.org/doc/html/rfc6920">rfc6920</a></li>
<li><a href="https://github.com/spider-gazelle/qr-code">qr-code</a> - QR
Code generator</li>
<li><a href="https://github.com/luislavena/radix">radix</a> - Radix Tree
implementation</li>
<li><a href="https://github.com/spider-gazelle/s2_cells">s2_cells</a> -
<a href="https://s2geometry.io/devguide/s2cell_hierarchy.html">S2
Geometry</a> for spatial indexing</li>
<li><a
href="https://github.com/spider-gazelle/secure-remote-password">secure-remote-password</a>
- SRP-6a protocol for authentication over an insecure network</li>
<li><a href="https://github.com/spider-gazelle/SPAKE2_plus">SPAKE2+</a>
- Password Authenticated Key Exchange (PAKE) protocol, comparable to
SRP-6a</li>
<li><a
href="https://github.com/wyhaines/splay_tree_map.cr">splay_tree_map</a>
- Splay Tree implementation that conforms to the Hash ducktype</li>
<li><a href="https://github.com/spider-gazelle/verhoeff">verhoeff</a> -
Implementation of the Verhoeff checksum algorithm</li>
</ul>
<h2 id="blockchain">Blockchain</h2>
<ul>
<li><a href="https://github.com/Axentro/Axentro">Axentro</a> - A custom
blockchain platform</li>
<li><a href="https://github.com/cocol-project/cocol">Cocol</a> - A
minimal blockchain testbed</li>
<li><a href="https://github.com/q9f/secp256k1.cr">secp256k1.cr</a> -
Elliptic curve used in the public-private-key cryptography</li>
</ul>
<h2 id="c-bindings">C bindings</h2>
<ul>
<li><a href="https://github.com/fernandes/augeas.cr">augeas.cr</a> -
Bindings for <a href="https://augeas.net/">Augeas</a></li>
<li><a href="https://github.com/crystal-lang/clang.cr">clang.cr</a> -
Libclang bindings</li>
<li><a href="https://github.com/maiha/crt.cr">crt.cr</a> - Bindings for
libncursesw and crt</li>
<li><a href="https://github.com/konovod/crystal-gsl">crystal-gsl</a> -
Bindings for <a href="https://www.gnu.org/software/gsl/">GNU Scientific
Library</a></li>
<li><a
href="https://github.com/mamantoha/crystal-hunspell">crystal-hunspell</a>
- Bindings for <a href="https://hunspell.github.io/">Hunspell</a></li>
<li><a href="https://github.com/jessedoyle/duktape.cr">duktape.cr</a> -
Bindings for the <a
href="https://github.com/svaarala/duktape">Duktape</a> javascript
engine</li>
<li><a href="https://github.com/firejox/fftw.cr">fftw.cr</a> - Bindings
for <a href="https://fftw.org/">FFTW</a> library</li>
<li><a href="https://github.com/Sija/gphoto2.cr">gphoto2.cr</a> -
Bindings for the <a href="http://www.gphoto.org/">libgphoto2</a>
library</li>
<li><a href="https://github.com/olbat/icu.cr">icu.cr</a> - Bindings for
the <a href="http://site.icu-project.org/">ICU</a> library</li>
<li><a href="https://github.com/splattael/libnotify.cr">libnotify.cr</a>
- Bindings for Libnotify</li>
<li><a href="https://github.com/konovod/nlopt.cr">nlopt.cr</a> -
Bindings for <a
href="https://nlopt.readthedocs.io/en/latest/">NLOpt</a></li>
<li><a href="https://github.com/maiha/pcap.cr">pcap.cr</a> - Bindings
for libpcap</li>
<li><a href="https://github.com/chris-huxtable/pledge.cr">pledge.cr</a>
- Bindings for OpenBSDs <code>pledge(2)</code></li>
<li><a href="https://github.com/spider-gazelle/ssh2.cr">ssh2.cr</a> -
Bindings for libssh2 library</li>
<li><a href="https://github.com/chris-huxtable/syslog.cr">syslog.cr</a>
- Bindings for <code>syslog</code></li>
<li><a href="https://github.com/spider-gazelle/v4l2.cr">v4l2.cr</a> -
Bindings for <a
href="https://en.wikipedia.org/wiki/Video4Linux">Video4Linux2</a></li>
<li><a
href="https://github.com/naqvis/wasmer-crystal">wasmer-crystal</a> -
Bindings for the <code>wasmer</code> WebAssembly runtime</li>
<li><a href="https://github.com/mjblack/win32cr">win32cr</a> - Bindings
for Win32 API</li>
<li><a href="https://github.com/woodruffw/x_do.cr">x_do.cr</a> -
Bindings for libxdo (<a
href="https://github.com/jordansissel/xdotool"><code>xdotool</code></a>)</li>
</ul>
<h2 id="caching">Caching</h2>
<ul>
<li><a
href="https://github.com/comandeo/crystal-memcached">crystal-memcached</a>
- Implementation of a memcached client</li>
</ul>
<h2 id="cli-builders">CLI Builders</h2>
<ul>
<li><a href="https://github.com/jwaldrip/admiral.cr">admiral</a> - A
robust DSL for writing command line interfaces</li>
<li><a href="https://github.com/athena-framework/console">Athena
Console</a> - Allows for the creation of CLI based commands</li>
<li><a href="https://github.com/j8r/clicr">clicr</a> - A simple
declarative command line interface builder</li>
<li><a href="https://github.com/at-grandpa/clim">clim</a> - Slim command
line interface builder</li>
<li><a href="https://github.com/devnote-dev/cling">Cling</a> - A
modular, non-macro-based command line interface library</li>
<li><a href="https://github.com/mrrooijen/commander">commander</a> -
Command-line interface builder</li>
<li><a href="https://github.com/robacarp/keimeno">Keimeno</a> - A
lightweight text user interface library in Crystal</li>
<li><a
href="https://crystal-lang.org/api/OptionParser.html">OptionParser</a> -
command-line options processing (Crystal stdlib)</li>
<li><a href="https://github.com/shinzlet/phreak">Phreak</a> - A highly
flexible Crystal CLI builder in the style of OptionParser</li>
</ul>
<h2 id="cli-utils">CLI Utils</h2>
<ul>
<li><a href="https://github.com/Sija/climate.cr">climate</a> - Tiny tool
to make your CLI output 🌈 coloured</li>
<li><a href="https://github.com/caian-org/coin">coin</a> - Command-line
application that performs currency conversion via the <a
href="https://fixer.io">Fixer API</a></li>
<li><a href="https://github.com/j8r/cride">cride</a> - A light CLI text
editor/IDE</li>
<li><a
href="https://github.com/place-labs/git-repository">git-repository</a> -
A git cli wrapper querying and cloning remote repositories with minimal
data transfer</li>
<li><a href="https://github.com/vitobotta/hetzner-k3s">hetzner-k3s</a> -
A CLI tool to quickly create and manage Kubernetes clusters in Hetzner
Cloud</li>
<li><a href="https://github.com/mkdika/lff-cr">lff</a> - Simple and
straightforward large files finder utility in command line</li>
<li><a href="https://github.com/ryanprior/meet">meet</a> - Start a jitsi
meeting quickly from the comfort of your command line</li>
<li><a href="https://github.com/Blacksmoke16/oq">oq</a> - A performant,
and portable jq wrapper to facilitate the consumption and output of
formats other than JSON; using <a
href="https://github.com/stedolan/jq">jq</a> filters to transform the
data</li>
<li><a
href="https://github.com/TPei/progress_bar.cr">progress_bar.cr</a> - A
simple and customizable progress bar</li>
<li><a href="https://github.com/hutou/tablo">tablo</a> - A flexible
terminal table generator</li>
<li><a href="https://github.com/epoch/tallboy">tallboy</a> - Generate
ASCII character tables with support for spanning cells over multiple
columns</li>
</ul>
<h2 id="code-analysis-and-metrics">Code Analysis and Metrics</h2>
<ul>
<li><a href="https://github.com/crystal-ameba/ameba">ameba</a> - A
static code analysis tool</li>
<li><a
href="https://github.com/microgit-com/linguist.cr">linguist.cr</a> -
Using multiple ways to find programming language used in files, based on
Githubs Linguist</li>
</ul>
<h2 id="compression">Compression</h2>
<ul>
<li><a href="https://github.com/naqvis/crystar">Crystar</a> - Readers
and writers of Tar archive format</li>
<li><a href="https://crystal-lang.org/api/Compress/Gzip.html">Gzip</a> -
readers and writers of gzip format (Crystal stdlib)</li>
<li><a href="https://github.com/BuonOmo/polylines.cr">polylines.cr</a>
compression of series of coordinates</li>
<li><a href="https://github.com/naqvis/snappy">snappy</a> - Snappy
compression format reader/writer for Crystal</li>
<li><a href="https://crystal-lang.org/api/Compress/Zip.html">Zip</a> -
readers and writers of zip format (Crystal stdlib)</li>
<li><a href="https://crystal-lang.org/api/Compress/Zlib.html">Zlib</a> -
readers and writers of zlib format (Crystal stdlib)</li>
<li><a href="https://github.com/didactic-drunk/zstd.cr">zstd.cr</a> -
Bindings for <a href="https://github.com/facebook/zstd">Zstandard</a>
compression library</li>
</ul>
<h2 id="configuration">Configuration</h2>
<ul>
<li><a href="https://github.com/gdotdesign/cr-dotenv">cr-dotenv</a> -
Loads .env file</li>
<li><a href="https://github.com/grottopress/envy">Envy</a> - Load
environment variables from YAML</li>
<li><a href="https://github.com/philnash/envyable.cr">envyable</a> - A
simple YAML to ENV config loader</li>
<li><a href="https://github.com/luckyframework/habitat">habitat</a> -
Type safe configuration for your classes and modules</li>
<li><a href="https://github.com/icyleaf/totem">totem</a> - Load and
parse a configuration in JSON, YAML, dotenv formats</li>
</ul>
<h2 id="converters">Converters</h2>
<ul>
<li><a href="https://github.com/Sija/base62.cr">base62.cr</a> - Base62
encoder/decoder, well suited for url-shortening</li>
<li><a href="https://github.com/spider-gazelle/crunits">crunits</a> -
Tool for converting units of measure (miles to kilometers, celsius to
fahrenheit etc)</li>
<li><a href="https://github.com/crystal-money/money">money</a> -
Handling money and currency conversion with ease (almost complete port
of <a href="https://github.com/RubyMoney/money">RubyMoney</a>)</li>
<li><a href="https://github.com/straight-shoota/sass.cr">sass.cr</a> -
Compile SASS/SCSS to CSS (<a
href="https://github.com/sass/libsass/">libsass</a> binding)</li>
</ul>
<h2 id="cryptography">Cryptography</h2>
<ul>
<li><a href="https://github.com/spider-gazelle/cmac">cmac</a> - Crystal
implementation of Cipher-based Message Authentication Code (CMAC)</li>
<li><a href="https://github.com/spider-gazelle/ed25519">ed25519</a> -
the Ed25519 elliptic curve public-key signature system described in [RFC
8032]</li>
<li><a href="https://github.com/konovod/monocypher.cr">monocypher.cr</a>
- Crystal wrapper for the Monocypher crypto library</li>
<li><a href="https://github.com/didactic-drunk/sodium.cr">sodium.cr</a>
- Crystal wrapper for the libsodium crypto API</li>
</ul>
<h2 id="data-formats">Data Formats</h2>
<ul>
<li><a href="https://github.com/spider-gazelle/bindata">BinData</a> -
Binary data parser helper with an <a
href="https://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One">ASN.1</a>
parser</li>
<li><a href="https://github.com/chris-huxtable/config.cr">config.cr</a>
- Easy to use configuration format parser</li>
<li><a href="https://github.com/c910335/crinder">crinder</a> - Class
based json renderer</li>
<li><a href="https://github.com/j8r/crystalizer">Crystalizer</a> -
(De)serialize any Crystal object; supporting JSON, YAML, and Byte
formats out of the box</li>
<li><a href="https://crystal-lang.org/api/CSV.html">CSV</a> - parsing
and generating for comma-separated values (Crystal stdlib)</li>
<li><a
href="https://github.com/chris-huxtable/front_matter.cr">front_matter.cr</a>
- Separates a files front matter from its content</li>
<li><a href="https://github.com/delef/geoip2.cr">geoip2.cr</a> - GeoIP2
reader</li>
<li><a href="https://github.com/NeuraLegion/har">HAR</a> - HAR (HTTP
Archive) parser</li>
<li><a href="https://crystal-lang.org/api/INI.html">INI</a> - INI file
parser (Crystal stdlib)</li>
<li><a href="https://crystal-lang.org/api/JSON.html">JSON</a> - parsing
and generating JSON documents (Crystal stdlib)</li>
<li><a
href="https://github.com/spider-gazelle/json-schema">json-schema</a> -
convert JSON serializable classes into a <a
href="https://json-schema.org/">JSON Schema</a> representation</li>
<li><a
href="https://github.com/anykeyh/json_on_steroids">JSON::OnSteroids</a>
- handle and mutate JSON document easily</li>
<li><a href="https://github.com/delef/maxminddb.cr">maxminddb.cr</a> -
MaxMindDB reader</li>
<li><a href="https://github.com/crystal-community/toml.cr">toml.cr</a> -
TOML parser</li>
<li><a href="https://crystal-lang.org/api/XML.html">XML</a> - parsing
and generating XML documents (Crystal stdlib)</li>
<li><a href="https://crystal-lang.org/api/YAML.html">YAML</a> - parsing
and generating YAML documents (Crystal stdlib)</li>
</ul>
<h2 id="data-generators">Data Generators</h2>
<ul>
<li><a href="https://github.com/askn/faker">faker</a> - A library for
generating fake data</li>
<li><a href="https://github.com/splattael/hashids.cr">hashids.cr</a> - A
library to generate YouTube-like ids from one or many numbers</li>
<li><a href="https://github.com/wontruefree/prime">prime</a> - A prime
number generator</li>
</ul>
<h2 id="database-driversclients">Database Drivers/Clients</h2>
<ul>
<li><a href="https://github.com/TechMagister/couchdb.cr">couchdb.cr</a>
- CouchDB client</li>
<li><a href="https://github.com/elbywan/cryomongo">cryomongo</a> -
MongoDB driver</li>
<li><a href="https://github.com/crystal-lang/crystal-db">crystal-db</a>
- Common db api</li>
<li><a
href="https://github.com/spider-gazelle/crystal-ldap">crystal-ldap</a> -
LDAP client</li>
<li><a
href="https://github.com/crystal-lang/crystal-mysql">crystal-mysql</a> -
MySQL connector for Crystal</li>
<li><a href="https://github.com/will/crystal-pg">crystal-pg</a> - A
Postgres driver</li>
<li><a
href="https://github.com/stefanwille/crystal-redis">crystal-redis</a> -
Full featured Redis client</li>
<li><a
href="https://github.com/kingsleyh/crystal-rethinkdb">crystal-rethinkdb</a>
- Driver for RethinkDB / RebirthDB</li>
<li><a
href="https://github.com/crystal-lang/crystal-sqlite3">crystal-sqlite3</a>
- SQLite3 bindings</li>
<li><a href="https://github.com/crystal-community/leveldb">leveldb</a> -
Crystal bindings for LevelDB</li>
<li><a href="https://github.com/maiha/rocksdb.cr">rocksdb.cr</a> -
RocksDB client</li>
<li><a href="https://github.com/yorci/surrealdb.cr">surrealdb.cr</a> -
Unoffical SurrealDB HTTP &amp; Websocket Client</li>
</ul>
<h2 id="database-tools">Database Tools</h2>
<ul>
<li><a href="https://github.com/vladfaust/migrate.cr">migrate</a> - A
simpler database migration tool with transactions</li>
</ul>
<h2 id="debugging">Debugging</h2>
<ul>
<li><a href="https://github.com/Sija/backtracer.cr">backtracer.cr</a> -
Shard aiming to assist with parsing backtraces into a structured
form</li>
<li><a href="https://github.com/Sija/debug.cr">debug.cr</a> -
<code>debug!(…)</code> macro for <code>pp</code>-style debugging</li>
</ul>
<h2 id="dependency-injection">Dependency Injection</h2>
<ul>
<li><a
href="https://github.com/athena-framework/dependency-injection">Athena
Dependency Injection</a> - Robust dependency injection service container
framework</li>
<li><a href="https://github.com/funk-yourself/crystal-di">Crystal-DI</a>
- Lightweight DI Container</li>
<li><a href="https://github.com/jerometwell/hardwire">HardWire</a> - A
compile-time non-intrusive dependency injection system</li>
<li><a href="https://github.com/Bonemind/syringe">syringe</a> - A simple
and basic dependency injection shard for crystal</li>
</ul>
<h2 id="email">Email</h2>
<ul>
<li><a href="https://github.com/luckyframework/carbon">carbon</a> - Fun,
testable, and adapter-based email library</li>
<li><a href="https://github.com/arcage/crystal-email">crystal-email</a>
- Simple e-mail sending library</li>
<li><a
href="https://git.sceptique.eu/Sceptique/CrystalEmail">CrystalEmail</a>
- A RFC compliant Email validator</li>
<li><a
href="https://github.com/dlanileonardo/sendgrid.cr">sendgrid.cr</a> -
Simple Sendgrid Client</li>
</ul>
<h2 id="environment-management">Environment Management</h2>
<ul>
<li><a href="https://github.com/marciogm/asdf-crystal">asdf-crystal</a>
- Plugin for asdf version manager</li>
<li><a href="https://github.com/crenv/crenv">crenv</a> - Crystal version
manager</li>
<li><a href="https://github.com/maiha/rcm.cr">rcm.cr</a> - Redis Cluster
Manager</li>
</ul>
<h2 id="examples-and-funny-stuff">Examples and funny stuff</h2>
<ul>
<li><a href="https://github.com/gdonald/blackjack-cr">blackjack-cr</a> -
Console Blackjack</li>
<li><a
href="https://github.com/crystal-community/crystal-patterns">crystal-patterns</a>
- Examples of GOF patters</li>
<li><a href="https://github.com/vladfaust/crystalworld">crystalworld</a>
- <a href="https://realworld.io">realworld.io</a> back-end API
implementation</li>
<li><a href="https://github.com/exercism/crystal">exercism-crystal</a> -
Exercism exercises</li>
<li><a href="https://github.com/maiha/try.cr">try.cr</a> - Try
monad</li>
</ul>
<h2 id="framework-components">Framework Components</h2>
<ul>
<li><a
href="https://github.com/athena-framework/event-dispatcher">Athena Event
Dispatcher</a> - A Mediator and Observer pattern event library</li>
<li><a href="https://github.com/athena-framework/negotiation">Athena
Negotiation</a> - Framework agnostic content negotiation library</li>
<li><a
href="https://github.com/creadone/device_detector">device_detector</a> -
Shard for detect device by user agent string</li>
<li><a href="https://github.com/crystal-loot/exception_page">Exception
Page</a> - An exceptional exception page for Crystal web libraries and
frameworks</li>
<li><a href="https://github.com/graphql-crystal/graphql">graphql</a> -
Type-safe <a href="http://graphql.org">GraphQL</a> server
implementation</li>
<li><a
href="https://github.com/ziprandom/graphql-crystal">graphql-crystal</a>
- <a href="http://graphql.org">GraphQL</a> implementation</li>
<li><a href="https://github.com/kemalcr/kemal-session">kemal-session</a>
- Session handler for Kemal</li>
<li><a href="https://github.com/awcrotwell/mochi">mochi</a> -
Authentication shard inspired by Devise supporting: Authenticable,
Confirmable, Invitable &amp; more</li>
<li><a href="https://github.com/awcrotwell/motion.cr">motion.cr</a> -
Object oriented frontend library for Amber</li>
<li><a href="https://github.com/msa7/multi_auth">multi-auth</a> -
Standardized multi-provider OAuth2 authentication (inspired by
omniauth)</li>
<li><a href="https://github.com/ilanusse/praetorian">praetorian</a> -
Minimalist authorization library inspired by Pundit</li>
<li><a href="https://github.com/grottopress/shield">Shield</a> -
Comprehensive security for <em>Lucky</em> framework</li>
<li><a href="https://github.com/jetrockets/shrine.cr">shrine.cr</a> -
File Attachment toolkit for Crystal applications. Heavily inspired by
Shrine for Ruby</li>
<li><a href="https://github.com/protoncr/tourmaline">tourmaline</a> -
Telegram bot framework with an API loosely based on <a
href="https://telegraf.js.org/">telegraf.js</a></li>
</ul>
<h2 id="game-development">Game Development</h2>
<ul>
<li><a href="https://github.com/oprypin/crsfml">CrSFML</a> - Bindings to
<a href="https://www.sfml-dev.org/">SFML</a> multimedia/game
library</li>
<li><a
href="https://github.com/oprypin/crystal-chipmunk">crystal-chipmunk</a>
- Bindings to <a href="http://chipmunk-physics.net/">Chipmunk</a>, a
fast and lightweight 2D game physics library</li>
<li><a
href="https://github.com/oprypin/crystal-imgui-sfml">crystal-imgui-sfml</a>
- Bindings to integrate <a href="https://github.com/ocornut/imgui">Dear
ImGui</a> into an <a href="https://www.sfml-dev.org/">SFML</a>
project</li>
<li><a href="https://github.com/spoved/entitas.cr">entitas.cr</a> - A
Entity Component System Framework for Crystal</li>
<li><a href="https://github.com/konovod/myecs">MyECS</a> - A Sparse
Entity Component System Framework for Crystal</li>
<li><a href="https://github.com/sol-vin/raylib-cr">Raylib-cr</a> -
Direct bindings to <a href="https://raylib.com">Raylib</a>, which
supports Linux, Windows, and Mac</li>
<li><a
href="https://github.com/Hadeweka/SDL-Crystal-Bindings">SDL-Crystal-Bindings</a>
- Direct (unsafe) bindings to <a
href="https://www.libsdl.org/">SDL2</a>, intended for writing own game
libraries</li>
</ul>
<h2 id="gui-development">GUI Development</h2>
<ul>
<li><a href="https://github.com/oprypin/crystal-imgui">crystal-imgui</a>
- Bindings to <a href="https://github.com/ocornut/imgui">Dear ImGui</a>,
an immediate-mode graphical UI library</li>
<li><a href="https://github.com/hugopl/gtk4.cr">GTK4.cr</a> - Bindings
for <a href="https://docs.gtk.org/gtk4/overview.html">GTK4</a> with
Crystalized API</li>
<li><a href="https://github.com/grkek/iu">Iu</a> - UI framework based on
the <a href="https://github.com/Fusion/libui.cr">Fusion/libui.cr</a>
library, with custom elements and modified bindings from <a
href="https://github.com/hedron-crystal/hedron">hedron-crystal/hedron</a></li>
<li><a href="https://ultimate-gtk4-crystal-guide.geopjr.dev/">Ultimate
GTK4 Crystal Guide</a> - Learn how to create premium GTK4 apps in
Crystal</li>
</ul>
<h2 id="html-builders">HTML Builders</h2>
<ul>
<li><a href="https://github.com/gunbolt/blueprint">blueprint</a> - Write
reusable and testable HTML templates in plain Crystal</li>
<li><a
href="https://github.com/westonganger/form_builder.cr">form_builder.cr</a>
- Dead simple HTML form builder for Crystal with built-in support for
many popular UI libraries such as Bootstrap</li>
<li><a href="https://github.com/sbsoftware/to_html.cr">to_html</a> - The
fastest HTML builder engine for Crystal</li>
<li><a href="https://github.com/shootingfly/water">Water</a> - A library
for writing HTML in plain Crystal</li>
</ul>
<h2 id="htmlxml-parsing">HTML/XML Parsing</h2>
<ul>
<li><a
href="https://github.com/aristotelesbr/docx_cr_converter">docx_cr_converter</a>
- parse DOCX Word</li>
<li><a href="https://github.com/kostya/myhtml">myhtml</a> - Fast HTML5
Parser that includes CSS selectors</li>
</ul>
<h2 id="http">HTTP</h2>
<ul>
<li><a href="https://github.com/cable-cr/cable">Cable</a> - An
ActionCable “port” to Crystal, framework agnostic, 100% compatible with
the ActionCable JS Client</li>
<li><a href="https://github.com/crystal-community/cossack">cossack</a> -
Simple flexible HTTP client</li>
<li><a href="https://github.com/mamantoha/crest">crest</a> - Simple HTTP
and REST client, inspired by the Rubys RestClient gem</li>
<li><a href="https://github.com/porras/crul">crul</a> - Command line
HTTP client</li>
<li><a
href="https://github.com/spider-gazelle/digest-auth">digest-auth</a> -
Digest authentication</li>
<li><a href="https://github.com/icyleaf/halite">halite</a> - Crystal
HTTP Requests with a chainable REST API, built-in sessions and
loggers</li>
<li><a
href="https://github.com/vladfaust/http-multiserver.cr">http-multiserver.cr</a>
- Mounting multiple servers via routes (a.k.a. URL mapping)</li>
<li><a
href="https://github.com/vladfaust/http-params-serializable">http-params-serializable</a>
- HTTP params (de)serialization, applicable to URL queries and
URL-encoded forms</li>
<li><a
href="https://github.com/rogeriozambon/http-protection">http-protection</a>
- Protection against typical web attacks</li>
<li><a href="https://github.com/ysbaddaden/http2">http2</a> - HTTP/2
Protocol Implementation</li>
<li><a
href="https://crystal-lang.org/api/HTTP/Client.html">HTTP::Client</a> -
HTTP client (Crystal stdlib)</li>
<li><a
href="https://crystal-lang.org/api/HTTP/Server.html">HTTP::Server</a> -
HTTP server (Crystal stdlib)</li>
<li><a
href="https://crystal-lang.org/api/HTTP/WebSocket.html">HTTP::WebSocket</a>
- HTTP WebSocket client (Crystal stdlib)</li>
<li><a
href="https://github.com/spider-gazelle/link-header">link-header</a> -
HTTP Link Header Parser</li>
<li><a href="https://github.com/spider-gazelle/ntlm">ntlm</a> - NTLM
authentication</li>
<li><a
href="https://github.com/nbulaj/proxy-fetcher.cr">proxy-fetcher.cr</a> -
Proxy lists fetching &amp; validating library</li>
<li><a href="https://github.com/y2k2mt/sse.cr">sse.cr</a> - <a
href="https://html.spec.whatwg.org/multipage/server-sent-events.html">Server-Sent
Events</a> client ## Image processing</li>
<li><a href="https://github.com/celestinecr/celestine">celestine</a> -
Create SVG images using a DSL</li>
<li><a href="https://github.com/spider-gazelle/ffmpeg">ffmpeg</a> -
FFmpeg bindings that works with StumpyPNG to extract frames</li>
<li><a href="https://github.com/phenopolis/pluto">Pluto</a> - A fast and
convenient image processing library</li>
<li><a href="https://github.com/stumpycr/stumpy_png">stumpy_png</a> -
Read and write PNG images</li>
</ul>
<h2 id="implementationscompilers">Implementations/Compilers</h2>
<ul>
<li><a href="https://github.com/charly-lang">charly</a> - Charly
Programming Language</li>
<li><a href="https://github.com/ziprandom/cltk">cltk</a> - A crystal
port of the Ruby Language Toolkit</li>
<li><a href="https://github.com/rhysd/Crisp">crisp</a> - Lisp dialect
implemented with Crystal</li>
<li><a href="https://github.com/LinCAS-lang">LinCAS-lang</a> - A
programming language for scientific computation</li>
<li><a href="https://github.com/mint-lang/mint">mint-lang</a> - A
refreshing programming language for the front-end web</li>
<li><a href="https://github.com/myst-lang/">myst-lang</a> - A practical,
dynamic language designed to be written and understood as easily and
efficiently as possible</li>
<li><a href="https://github.com/novika-lang/novika">novika</a> - A
free-form, moldable, interpreted programming language</li>
<li><a href="https://github.com/runic-lang">runic-lang</a> - In-design
toy language</li>
</ul>
<h2 id="internationalization">Internationalization</h2>
<ul>
<li><a href="https://github.com/crystal-i18n/i18n">crystal-i18n</a> - An
internationalization library inspired by Ruby-I18n</li>
<li><a href="https://github.com/vladfaust/i18n.cr">i18n.cr</a> -
Internationalization shard</li>
<li><a href="https://github.com/syeopite/lens">Lens</a> - A multiformat
internationalization (i18n) shard for Crystal. Supports Gettext, Ruby
YAML, etc.</li>
<li><a href="https://github.com/wout/rosetta">Rosetta</a> - A blazing
fast internationalization (i18n) library with compile-time key lookup
supporting YAML and JSON formats</li>
</ul>
<h2 id="logging-and-monitoring">Logging and monitoring</h2>
<ul>
<li><a href="https://github.com/spoved/crafana.cr">crafana</a> - A <a
href="https://grafana.com/">Grafana</a> library to help autogenerate
dashboards</li>
<li><a
href="https://github.com/didactic-drunk/fiber_metrics.cr">fiber_metrics.cr</a>
- Track run time, wait time, or memory allocations per
<code>Fiber</code>, method or block</li>
<li><a href="https://crystal-lang.org/api/Log.html">Log</a> - logging
utility (Crystal stdlib)</li>
<li><a href="https://github.com/miketheman/statsd.cr">statsd.cr</a> - <a
href="https://github.com/etsy/statsd">Statsd</a> client library</li>
</ul>
<h2 id="machine-learning">Machine Learning</h2>
<ul>
<li><a href="https://github.com/drhuffman12/ai4cr">ai4cr</a> -
Artificial Intelligence (based on
https://github.com/SergioFierens/ai4r)</li>
<li><a href="https://github.com/cadmiumcr/cadmium">Cadmium</a> - NLP
library based heavily on <a
href="https://github.com/NaturalNode/natural">natural</a></li>
<li><a
href="https://github.com/NeuraLegion/crystal-fann">crystal-fann</a> -
FANN (Fast Artifical Neural Network) binding</li>
<li><a href="https://github.com/toddsundsted/mxnet.cr">mxnet.cr</a> -
Bindings for <a
href="https://mxnet.incubator.apache.org/">MXNet</a></li>
<li><a href="https://github.com/NeuraLegion/shainet">shainet</a> -
SHAInet (Neural Network in pure crystal)</li>
</ul>
<h2 id="markdowntext-processors">Markdown/Text Processors</h2>
<ul>
<li><a href="https://github.com/amauryt/cr-cmark-gfm">cr-cmark-gfm</a> -
Crystal C bindings for cmark-gfm to work with Commonmark and Github
Flavored Markdown</li>
<li><a href="https://github.com/icyleaf/markd">markd</a> - Yet another
markdown parser built for speed, Compliant to CommonMark
specification</li>
</ul>
<h2 id="misc">Misc</h2>
<ul>
<li><a href="https://github.com/veelenga/aasm.cr">aasm.cr</a> - Easy to
use finite state machine for Crystal classes</li>
<li><a href="https://github.com/Sija/any_hash.cr">any_hash.cr</a> -
Recursive Hash with better JSON::Any included</li>
<li><a href="https://github.com/Anyolite/anyolite">anyolite</a> - Full
mruby interpreter with simple bindings, allowing for easy scripting
support in projects</li>
<li><a
href="https://github.com/vinibrsl/burocracia.cr">burocracia.cr</a> -
burocracia.cr the dependecyless shard to validate, generate and format
Brazilian burocracias such as CPF, CNPJ and CEP</li>
<li><a href="https://github.com/vladfaust/callbacks.cr">callbacks</a> -
Expressive callbacks module</li>
<li><a
href="https://github.com/TPei/circuit_breaker">circuit_breaker</a> -
Implementation of the circuit breaker pattern</li>
<li><a href="https://github.com/firejox/CrSignals">CrSignals</a> -
Signals/slots notification library</li>
<li><a
href="https://github.com/DanSnow/crystal-binary_parser">crystal-binary_parser</a>
- Binary parser</li>
<li><a
href="https://github.com/isaced/crystal-web-framework-stars">crystal-web-framework-stars</a>
- Web frameworks for Crystal, most starred on Github</li>
<li><a href="https://github.com/dhruvrajvanshi/crz">crz</a> - Functional
programming library</li>
<li><a href="https://github.com/wyhaines/defined.cr">defined</a> -
macros for conditional compilation based on constant definitions,
version requirements, or environment variable settings</li>
<li><a href="https://github.com/veelenga/emoji.cr">emoji.cr</a> - Emoji
library</li>
<li><a href="https://github.com/Sija/gphoto2-web.cr">gphoto2-web.cr</a>
- Web API for libgphoto2</li>
<li><a href="https://github.com/lucaong/immutable">immutable</a> -
Implementation of thread-safe, persistent, immutable collections</li>
<li><a href="https://github.com/toddsundsted/iterm2">iterm2</a> -
Display images within the terminal using the ITerm2 Inline Images
Protocol</li>
<li><a href="https://github.com/alex-lairan/monads">monads</a> - Monad
implementation</li>
<li><a href="https://github.com/TPei/observable">observable</a> -
Implementation of the observer pattern</li>
<li><a href="https://github.com/spider-gazelle/pinger">pinger</a> - Ping
IP addresses and DNS entries without requiring sudo</li>
<li><a href="https://github.com/jimm/crystal_port_midi">port_midi</a> -
Crystal C bindings for the PortMIDI cross-platform MIDI I/O library</li>
<li><a href="https://github.com/Sija/retriable.cr">retriable.cr</a> -
Simple DSL to retry failed code blocks</li>
<li><a
href="https://github.com/wyhaines/serf-handler.cr">serf-handler.cr</a> -
Framework for building Serf handlers, with a suite of useful builtin
capabilities</li>
<li><a
href="https://github.com/spider-gazelle/simple_retry">simple_retry</a> -
Simple tool for retrying failed code blocks</li>
<li><a href="https://github.com/NeuraLegion/sslscan.cr">sslscan.cr</a> -
Crystal shard wrapping the rbsec/sslscan utility</li>
<li><a
href="https://github.com/anicholson/crystal-version-tools">version_tools</a>
- Version-dependent behaviour, specified at compile-time</li>
<li><a href="https://github.com/NeuraLegion/wafalyzer">wafalyzer</a> -
Web Application Firewall (WAF) Detector - shard + cli</li>
<li><a href="https://github.com/szTheory/zaru_crystal">zaru_crystal</a>
- Filename sanitization</li>
</ul>
<h2 id="network-protocols">Network Protocols</h2>
<ul>
<li><a
href="https://github.com/cloudamqp/amqp-client.cr">amqp-client.cr</a> -
AMQP 0-9.1, a messaging protocol, implemented by eg. RabbitMQ</li>
<li><a
href="https://github.com/spider-gazelle/connect-proxy">connect-proxy</a>
- Connect method style of HTTP tunnelling / HTTP proxy</li>
<li><a href="https://github.com/naqvis/cr-xmpp">cr-xmpp</a> -
XMPP/Jabber Library</li>
<li><a href="https://github.com/Meoowww/Crirc">Crirc</a> - IRC protocol
implementation (Client, Server, Bots)</li>
<li><a
href="https://github.com/spider-gazelle/crystal-bacnet">crystal-bacnet</a>
- BACnet protocol implementation with BACnet/IP client</li>
<li><a href="https://gitlab.com/jgillich/crystal-dns">crystal-dns</a> -
DNS protocol implementation and resolver</li>
<li><a
href="https://github.com/foi/crystal-json-socket">crystal-json-socket</a>
- JSON-socket client &amp; server implementation. Inspired by and
compatible with <a
href="https://github.com/sebastianseilund/node-json-socket/">node-json-socket</a>
and <a
href="https://github.com/foi/ruby-json-socket">ruby-json-socket</a></li>
<li><a
href="https://github.com/spider-gazelle/crystal-mqtt">crystal-mqtt</a> -
A MQTT client</li>
<li><a
href="https://github.com/spider-gazelle/crystal-snmp">crystal-snmp</a> -
An SNMP implementation with version 1, 2c and 3 support</li>
<li><a href="https://github.com/RX14/fast_irc.cr">fast_irc.cr</a> - Fast
IRC parser/generator</li>
<li><a href="https://github.com/crystal-community/jwt">jwt</a> -
Implementation of JWT (JSON Web Token)</li>
<li><a href="https://github.com/spider-gazelle/mdns">mDNS</a> - DNS
Service Discovery and multicast DNS</li>
<li><a
href="https://github.com/84codes/mqtt-client.cr">mqtt-client.cr</a> - A
fast and lightweight MQTT client</li>
<li><a
href="https://github.com/crystal-community/msgpack-crystal">msgpack-crystal</a>
- MessagePack library</li>
<li><a href="https://crystal-lang.org/api/OAuth.html">OAuth</a> - OAuth
consumer (Crystal stdlib)</li>
<li><a href="https://crystal-lang.org/api/OAuth2.html">OAuth2</a> -
OAuth2 client (Crystal stdlib)</li>
<li><a href="https://crystal-lang.org/api/OpenSSL.html">OpenSSL</a> -
bindings to libssl (Crystal stdlib)</li>
<li><a href="https://github.com/kostya/simple_rpc">simple_rpc</a> - RPC
Server and Client for Crystal. Implements msgpack-rpc protocol</li>
<li><a href="https://github.com/spider-gazelle/stomp">stomp</a> - STOMP
protocol</li>
<li><a href="https://github.com/spider-gazelle/telnet.cr">telnet.cr</a>
- Telnet protocol</li>
<li><a
href="https://git.sceptique.eu/Sceptique/transfer_more">transfer_more</a>
- Clone of transfer.sh to uploads files</li>
</ul>
<h2 id="networking">Networking</h2>
<ul>
<li><a href="https://github.com/Sija/ipaddress.cr">ipaddress.cr</a> -
Library to handle IPv4 and IPv6 addresses</li>
<li><a href="https://github.com/automatico/mac-address">mac-address</a>
- Library for working with MAC addresses</li>
</ul>
<h2 id="ormodm-extensions">ORM/ODM Extensions</h2>
<ul>
<li><a href="https://github.com/luckyframework/avram">avram</a> - A
database wrapper for reading, writing, and migrating Postgres
databases</li>
<li><a href="https://github.com/anykeyh/clear">clear</a> - ORM
specialized to PostgreSQL only but with advanced features</li>
<li><a href="https://github.com/Crecto/crecto">crecto</a> - Database
wrapper, based on Ecto</li>
<li><a href="https://github.com/amberframework/granite">granite</a> -
ORM for Postgres, Mysql, Sqlite</li>
<li><a href="https://github.com/imdrasil/jennifer.cr">jennifer.cr</a> -
Active Record pattern implementation with flexible query chainable
builder and migration system</li>
<li><a
href="https://github.com/spider-gazelle/rethinkdb-orm">rethinkdb-orm</a>
- ORM for RethinkDB / RebirthDB</li>
</ul>
<h2 id="package-management">Package Management</h2>
<ul>
<li><a href="https://github.com/crystal-lang/shards">shards</a> -
Dependency manager for the Crystal</li>
</ul>
<h2 id="processes-and-threads">Processes and Threads</h2>
<ul>
<li><a href="https://github.com/anykeyh/await_async">await_async</a> -
Add keywords await &amp; async in Crystal Lang</li>
<li><a
href="https://github.com/didactic-drunk/concurrent.cr">concurrent.cr</a>
- Simplified concurrency using streams/pipelines, waitgroups,
semaphores, smores and more</li>
<li><a href="https://github.com/tbrand/neph">neph</a> - A modern command
line job processor that can execute jobs concurrently</li>
<li><a href="https://github.com/spider-gazelle/promise">promise</a> - A
Promise implementation with type inference</li>
<li><a href="https://github.com/marghidanu/werk">werk</a> - Dead simple
task runner with concurrent support, ideal for local CI</li>
</ul>
<h2 id="project-generators">Project Generators</h2>
<ul>
<li><a
href="https://github.com/crystal-lang/crystal_lib">crystal_lib</a> -
Automatic binding generator for native libraries</li>
<li><a href="https://github.com/jwoertink/fez">fez</a> - A Kemal
application generator</li>
<li><a href="https://github.com/olbat/libgen">libgen</a> - Automatic
bindings generator configured using JSON/YAML files</li>
</ul>
<h2 id="queues-and-messaging">Queues and Messaging</h2>
<ul>
<li><a href="https://github.com/BT-OpenSource/crafka">crafka</a> -
Apache Kafka library utilizing <code>librdkafka</code></li>
<li><a href="https://github.com/mosquito-cr/mosquito/">mosquito</a> -
Redis backed periodic and ad hoc job processing</li>
<li><a href="https://github.com/nats-io/nats.cr">NATS.io</a> - NATS
client</li>
<li><a href="https://github.com/mperham/sidekiq.cr">sidekiq.cr</a> -
Simple, efficient job processing</li>
</ul>
<h2 id="routing">Routing</h2>
<ul>
<li><a href="https://github.com/obsidian/orion">orion</a> - A minimal,
rails-esque routing library</li>
<li><a href="https://github.com/tbrand/router.cr">router.cr</a> -
Minimum but powerful http router for HTTP::Server</li>
</ul>
<h2 id="scheduling">Scheduling</h2>
<ul>
<li><a href="https://gitlab.com/crystallabs/crystime">crystime</a> -
Advanced time, calendar, schedule, and remind library</li>
<li><a
href="https://github.com/hugoabonizio/schedule.cr">schedule.cr</a> - Run
periodic tasks</li>
<li><a href="https://github.com/spider-gazelle/tasker">tasker</a> - A
high precision scheduler including timezone aware cron jobs</li>
</ul>
<h2 id="science-and-data-analysis">Science and Data analysis</h2>
<ul>
<li><a href="https://github.com/nin93/alea">alea</a> - Repeatable
sampling, CDF and other utilities to work with probability
distributions</li>
<li><a href="https://github.com/toddsundsted/ishi">ishi</a> - Graph
plotting package with a small API and sensible defaults powered by
gnuplot</li>
<li><a href="https://github.com/konovod/linalg">linalg</a> - Linear
algebra library inspired by MATLAB and SciPy.linalg</li>
<li><a href="https://github.com/crystal-data/num.cr">num.cr</a> -
Numerical computing library supporting N-Dimensional data</li>
<li><a href="https://github.com/RX14/predict.cr">predict.cr</a> -
Satellite prediction library using the sgp4 model</li>
<li><a href="https://github.com/RomainFranceschini/quartz">quartz</a> -
Modeling and simulation framework</li>
</ul>
<h2 id="search">Search</h2>
<ul>
<li><a href="https://github.com/imdrasil/hermes.cr">hermes</a> - Data
Mapper pattern implementation for ElastiSearch</li>
</ul>
<h2 id="serverless-computing">Serverless Computing</h2>
<ul>
<li><a
href="https://github.com/TPei/crystal_openfaas/">crystal_openfaas</a> -
Template to enable crystal as first class citizens in OpenFaaS</li>
<li><a
href="https://github.com/spider-gazelle/secrets-env">secrets-env</a> -
Extends ENV module to read values injected by docker / kubernetes
secrets and other orchestration tools</li>
</ul>
<h2 id="system">System</h2>
<ul>
<li><a
href="https://github.com/schovi/baked_file_system">baked_file_system</a>
- Virtual file system implementation</li>
<li><a href="https://github.com/crystal-community/hardware">hardware</a>
- Get CPU, Memory and Network informations of the running OS and its
processes</li>
</ul>
<h2 id="task-management">Task management</h2>
<ul>
<li><a href="https://github.com/axvm/cake">cake</a> - Production-ready
Make-like utility tool</li>
<li><a href="https://github.com/imdrasil/sam.cr">sam</a> - Another one
Rake-like task manager with namespacing and arguments system</li>
</ul>
<h2 id="template-engine">Template Engine</h2>
<ul>
<li><a href="https://github.com/straight-shoota/crinja">crinja</a> - An
implementation of the <a href="http://jinja.pocoo.org/">Jinja2 template
engine</a></li>
<li><a href="https://github.com/MakeNowJust/crustache">crustache</a> -
<a href="https://mustache.github.io">{{Mustache}}</a> for Crystal</li>
<li><a href="https://crystal-lang.org/api/ECR.html">ECR (Embedded
Crystal)</a> - compile time template language which uses plain crystal
expressions (Crystal stdlib)</li>
<li><a href="https://github.com/shootingfly/jbuilder">Jbuilder</a> -
Generate JSON objects with a Builder-style DSL, inspired by
jbuilder</li>
<li><a href="https://github.com/jeromegn/kilt">Kilt</a> - Abstraction
layer for template engines</li>
<li><a href="https://github.com/jeromegn/slang">Slang</a> - Lightweight,
terse, templating language inspired by Rubys Slim</li>
<li><a href="https://github.com/mosop/teeplate">teeplate</a> - A library
for rendering multiple template files</li>
</ul>
<h2 id="testing">Testing</h2>
<ul>
<li><a href="https://github.com/athena-framework/spec">Athena Spec</a> -
Common/helpful <a href="https://crystal-lang.org/api/Spec.html">Spec</a>
compliant testing utilities</li>
<li><a href="https://github.com/emancu/crotest">crotest</a> - A tiny and
simple test framework</li>
<li><a href="https://github.com/hanneskaeufler/crytic">crytic</a> -
Mutation testing framework</li>
<li><a href="https://github.com/crystal-china/hashr">hashr</a> - A tiny
class makes test on JSON response easier</li>
<li><a href="https://github.com/luckyframework/lucky_flow">LuckyFlow</a>
- Automated browser tests similar to Capybara</li>
<li><a href="https://github.com/c910335/mass-spec">mass-spec</a> - Web
API testing library</li>
<li><a href="https://github.com/Ragmaanir/microtest">microtest</a> -
Small opinionated testing library focusing on power asserts</li>
<li><a href="https://github.com/ysbaddaden/minitest.cr">minitest.cr</a>
- Library for unit tests and assertions</li>
<li><a href="https://github.com/waterlink/mocks.cr">mocks.cr</a> -
Mocking library for Crystal</li>
<li><a href="https://crystal-lang.org/api/Spec.html">Spec</a> - spec
framework (Crystal stdlib)</li>
<li><a href="https://gitlab.com/arctic-fox/spectator">spectator</a> -
Feature rich spec framework that uses the modern expect syntax</li>
<li><a
href="https://github.com/crystal-community/timecop.cr">timecop.cr</a> -
Library for mocking with <code>Time.now</code>. Inspired by the <a
href="https://github.com/travisjeffery/timecop">timecop ruby
gem</a></li>
<li><a href="https://github.com/spoved/vcr.cr">vcr</a> - A HTTP capture
and replay implementation for crystal</li>
<li><a
href="https://github.com/bwilczek/webdriver_pump">webdriver_pump</a> -
Page Object library. Inspired by Rubys <a
href="https://github.com/bwilczek/watir_pump">WatirPump</a></li>
<li><a href="https://github.com/manastech/webmock.cr">webmock.cr</a> -
Library for stubbing <code>HTTP::Client</code> requests</li>
</ul>
<h2 id="third-party-apis">Third-party APIs</h2>
<ul>
<li><a href="https://github.com/rjnienaber/amazonite">amazonite</a> - An
unofficial SDK supporting popular AWS APIs</li>
<li><a
href="https://github.com/beanieboi/aws-signer.cr">aws-signer.cr</a> -
This library signs your HTTP requests using AWS v4</li>
<li><a href="https://github.com/taylorfinnell/awscr-s3">awscr-s3</a> -
AWS S3 interface</li>
<li><a
href="https://github.com/taylorfinnell/awscr-signer">awscr-signer</a> -
Sign HTTP::Request objects and generate presigned post forms</li>
<li><a
href="https://github.com/rogerwelin/crystal-consul">crystal-consul</a> -
Consul API client</li>
<li><a
href="https://github.com/sb89/crystal-darksky">crystal-darksky</a> -
Wrapper for the <a href="https://darksky.net">Dark Sky</a> API</li>
<li><a href="https://github.com/sb89/crystal-swapi">crystal-swapi</a> -
Star Wars API (SWAPI) wrapper</li>
<li><a
href="https://github.com/manastech/crystal_slack">crystal_slack</a> - A
tool that parses Slack slash commands or send incoming web hooks</li>
<li><a href="https://github.com/mccallofthewild/gdax">GDAX</a> - GDAX
REST and WebSocket API Wrapper with request signing</li>
<li><a href="https://github.com/icyleaf/gitlab.cr">gitlab.cr</a> -
GitLab API wrapper</li>
<li><a href="https://github.com/PlaceOS/google">google</a> - Google API
wrapper</li>
<li><a href="https://github.com/toddsundsted/host_meta">host_meta</a> -
A Web Host Metadata (https://tools.ietf.org/html/rfc6415) client</li>
<li><a
href="https://github.com/spoved/kube-client.cr">kube-client.cr</a> -
Kubernetes API Client</li>
<li><a
href="https://github.com/petoem/mixpanel-crystal">mixpanel-crystal</a> -
A library for sending events to Mixpanel</li>
<li><a href="https://github.com/wout/mollie.cr">mollie.cr</a> - <a
href="https://www.mollie.com/en/">Mollie</a> Payments API wrapper
(Creditcard, PayPal, Apple Pay, Sofort, Klarna, …)</li>
<li><a href="https://github.com/PlaceOS/office365">office365</a> -
Microsoft Graph API wrapper</li>
<li><a href="https://github.com/oz/pinboard.cr">pinboard.cr</a> - <a
href="https://pinboard.in">Pinboard</a> API</li>
<li><a href="https://github.com/sija/raven.cr">raven.cr</a> - Raven is a
client for <a href="https://github.com/getsentry/sentry">Sentry</a></li>
<li><a href="https://github.com/confact/stripe.cr">stripe.cr</a> -
Stripe api wrapper</li>
<li><a href="https://github.com/mmacia/tmdb.cr">tmdb.cr</a> - The Movie
DB (TMDb) api wrapper</li>
<li><a
href="https://github.com/sferik/twitter-crystal">twitter-crystal</a> - A
library to access the Twitter API</li>
<li><a href="https://github.com/toddsundsted/web_finger">web_finger</a>
- A WebFinger (https://tools.ietf.org/html/rfc7033) client</li>
<li><a href="https://github.com/jaredsmithse/ynab.cr">ynab.cr</a> - A
library to interact with your YNAB data</li>
</ul>
<h2 id="validation">Validation</h2>
<ul>
<li><a href="https://github.com/neovintage/accord">accord</a> -
Shareable validation library for Crystal Objects</li>
<li><a href="https://github.com/athena-framework/validator">Athena
Validator</a> - Robust &amp; flexible validation framework</li>
<li><a
href="https://github.com/vladfaust/validations.cr">validations</a> -
Validations mixin</li>
<li><a href="https://github.com/Nicolab/crystal-validator">validator</a>
- Data check and validation</li>
</ul>
<h2 id="web-frameworks">Web Frameworks</h2>
<ul>
<li><a href="https://github.com/amberframework/amber">amber</a> - Open
source efficient and cohesive web application framework</li>
<li><a href="https://github.com/athena-framework/athena">Athena</a> - A
web framework comprised of reusable, independent components</li>
<li><a href="https://github.com/grip-framework/grip">grip</a> - The
microframework for writing powerful web applications</li>
<li><a href="https://github.com/kemalcr/kemal">kemal</a> - Lightning
Fast, Super Simple web framework. Inspired by Sinatra</li>
<li><a href="https://github.com/luckyframework/lucky">lucky</a> - Catch
bugs early, forget about most performance issues, and spend more time on
code instead of debugging and writing tests</li>
<li><a href="https://github.com/martenframework/marten">marten</a> - A
web framework that makes building web applications easy, productive, and
fun</li>
<li><a href="https://github.com/runcobo/runcobo">runcobo</a> - An api
framework with simple, intuitive and consistent DSL, using jbuilder to
render json</li>
<li><a
href="https://github.com/ujjwalguptaofficial/shivneri">Shivneri</a> -
Component based MVC web framework for crystal targeting good code
structures, modularity &amp; performance</li>
<li><a
href="https://github.com/spider-gazelle/spider-gazelle">spider-gazelle</a>
- A Rails esque web framework with a focus on speed and
extensibility</li>
</ul>
<h1 id="community">Community</h1>
<ul>
<li><a href="https://forum.crystal-lang.org/">Crystal Forum</a></li>
<li><a href="https://crystal-lang.org/#newsletter">Crystal
newsletter</a></li>
<li><a href="https://gitter.im/crystal-lang/crystal">Gitter</a></li>
<li><a href="ircs://irc.libera.chat:6697#crystal-lang">IRC</a> -
#crystal-lang on Libera</li>
<li><a
href="https://www.reddit.com/r/crystal_programming/">Reddit</a></li>
<li><a
href="https://stackoverflow.com/tags/crystal-lang/info">Stackoverflow</a></li>
</ul>
<h2 id="unofficial">Unofficial</h2>
<ul>
<li><a href="https://t.me/crystal_cn">Chinese-speaking Telegram
Group</a> - 来吧TG 中文圈的朋友们!</li>
<li><a href="https://discord.gg/YS7YvQy">Crystal Programming Discord
Server</a> - Unofficial Discord server dedicated to the Crystal
Programming Language</li>
<li><a href="https://t.me/crystalbrasil">Portuguese-speaking Telegram
Group</a> - Bem vindos ao Crystal Brasil!</li>
<li><a href="https://t.me/crystal_ru">Russian-speaking Telegram
Group</a> - Добро пожаловать, товарищ!</li>
</ul>
<h1 id="resources">Resources</h1>
<ul>
<li><a href="http://www.crystalforrubyists.com/">Crystal for
Rubyists</a> - Free book to bootstrap your Crystal journey</li>
<li><a
href="https://github.com/crystal-lang/crystal/wiki/Crystal-Shards-for-Ruby-Gems">Crystal
Shards for Ruby Gems</a> - A list of Ruby Gems and their Crystal Shards
equivalents</li>
<li><a href="https://github.com/ilmanzo/crystal-koans">crystal-koans</a>
- Learn Crystal by writing unit tests</li>
<li><a href="https://crystal-lang.org">crystal-lang.org</a> - Official
language site</li>
<li><a href="https://devdocs.io/crystal/">devdocs.io</a> - API
Documentation Browser with Crystal support</li>
<li><a
href="https://pragprog.com/book/crystal/programming-crystal">Programming
Crystal</a> - PragProg book to start your Crystal journey</li>
</ul>
<h2 id="official-documentation-translations">Official Documentation
Translations</h2>
<ul>
<li><a href="http://br.crystal-lang.org/">br.crystal-lang.org</a> -
Brazilian</li>
<li><a href="http://ja.crystal-lang.org/">ja.crystal-lang.org</a> -
Japanese</li>
<li><a href="https://kr.crystal-lang.org/">kr.crystal-lang.org</a> -
Korean</li>
<li><a href="http://ru.crystal-lang.org/">ru.crystal-lang.org</a> -
Russian</li>
<li><a href="http://tw.crystal-lang.org/">tw.crystal-lang.org</a> -
Chinese Traditional</li>
</ul>
<h1 id="services-and-apps">Services and Apps</h1>
<ul>
<li><a href="https://carc.in/">carc.in</a> - A web service that runs
your code and displays the result</li>
<li><a href="https://github.com/arktisklada/crank">Crank</a> - A
Procfile-based application manager (like Foreman)</li>
<li><a href="https://github.com/elorest/cry">cry</a> - Ability to
execute crystal code in a fashion similar to Rubys pry edit</li>
<li><a href="https://crystal-ann.com">Crystal [ANN]</a> - Announce new
project, blog post, version update or any other Crystal work</li>
<li><a href="https://github.com/jhass/DeBot">DeBot</a> - IRC bot written
in Crystal</li>
<li><a href="https://github.com/crystal-community/icr">icr</a> -
Interactive console for Crystal (like IRB for Ruby)</li>
<li><a href="https://github.com/iv-org/invidious">Invidious</a> -
Invidious is an alternative front-end to YouTube</li>
<li><a href="https://github.com/thewalkingtoast/mpngin">mpngin</a> - A
URL shortener with simple stats</li>
<li><a
href="https://github.com/crystal-china/procodile_cr">procodile</a> - Run
processes in the background (and foreground) on Mac &amp; Linux from a
Procfile (for production and/or development environments)</li>
<li><a href="https://quicktype.io/">quicktype</a> - Generate models and
serializers from JSON, JSON Schema, GraphQL, and TypeScript</li>
<li><a href="http://shards.info/">shards.info</a> - Web service that
lists all repositories on GitHub that have Crystal code in them. The
sources are available on <a
href="https://github.com/mamantoha/shards-info">GitHub</a></li>
</ul>
<h1 id="tools">Tools</h1>
<ul>
<li><a
href="https://github.com/bcardiff/crystal-ast-helper">ast_helper</a> -
Helper tool to debug parser and formatter</li>
<li><a href="https://github.com/ruivieira/crystal-base">crystal-base</a>
- CentOS base docker image for Crystal development</li>
<li><a
href="https://github.com/Sija/crystal-dash-docset">crystal-dash-docset</a>
- <a href="https://kapeli.com/dash">Dash</a> docset generator</li>
<li><a
href="https://github.com/crystal-china/port_ruby_to_crystal">port_ruby_to_crystal</a>
- A regex replace ruby script for port ruby code to crystal easier,
reduce friction</li>
<li><a
href="https://github.com/toddsundsted/public_suffix">public_suffix</a> -
A small library designed to make the Public Suffix List
(https://publicsuffix.org/) easier to use</li>
</ul>
<h2 id="devops">DevOps</h2>
<ul>
<li><a
href="https://github.com/CorbanR/ansible-crystal">ansible-crystal</a> -
Ansible playbook for installing crystal</li>
<li><a href="https://github.com/DFabric/dppm">DPPM</a> - An easy,
universal way to install and manage applications as packages (mostly
Linux)</li>
</ul>
<h2 id="editor-plugins">Editor Plugins</h2>
<ul>
<li>Acme:
<ul>
<li><a
href="https://github.com/ilanpillemer/acmecrystal">acmecrystal</a> -
Reformats crystal code in acme</li>
</ul></li>
<li>Atom
<ul>
<li><a href="https://atom.io/packages/crystal-tools">crystal-tools</a> -
Enables built in tools in Crystal compiler</li>
<li><a
href="https://atom.io/packages/language-crystal-actual">language-crystal-actual</a>
- Crystal language support in Atom</li>
</ul></li>
<li>Emacs
<ul>
<li><a href="https://melpa.org/#/crystal-mode">crystal-mode</a> -
Crystal language support for Emacs (<a
href="https://github.com/crystal-lang-tools/emacs-crystal-mode">crystal-lang-tools/emacs-crystal-mode</a>)</li>
</ul></li>
<li>Geany
<ul>
<li><a
href="https://github.com/crystal-lang-tools/geany-crystal">geany-crystal</a>
- Crystal support for the <a href="https://www.geany.org/">Geany
editor</a></li>
</ul></li>
<li>IntelliJ IDEA
<ul>
<li><a
href="https://github.com/asedunov/intellij-crystal-lang">intellij-crystal-lang</a>
- Crystal support for the JetBrains IDEs</li>
</ul></li>
<li>Lite-XL
<ul>
<li><a
href="https://github.com/Tamnac/lite-plugin-crystal">lite-plugin-crystal</a>
- Crystal support for the <a href="https://lite-xl.com/en/">Lite-XL</a>
editor</li>
</ul></li>
<li>Spacemacs
<ul>
<li><a
href="https://github.com/juanedi/crystal-spacemacs-layer">crystal-spacemacs-layer</a>
- Spacemacs contribution layer for Crystal</li>
</ul></li>
<li>Sublime
<ul>
<li><a
href="https://github.com/crystal-lang-tools/sublime-crystal">sublime-crystal</a>
- Crystal syntax highlighting for sublime Text</li>
</ul></li>
<li>TextMate
<ul>
<li><a
href="https://github.com/crystal-lang-tools/Crystal.tmbundle">Crystal.tmbundle</a>
- Crystal syntax highlighting, compile, format command, snippets</li>
</ul></li>
<li>Vim
<ul>
<li><a href="https://github.com/vim-crystal/vim-crystal">vim-crystal</a>
- Vim filetype support for Crystal</li>
<li><a href="https://github.com/elorest/vim-slang">vim-slang</a> - Vim
filetype support for Slang Templating Engine</li>
</ul></li>
<li>Visual Studio Code
<ul>
<li><a
href="https://github.com/crystal-lang-tools/vscode-crystal-lang">vscode-crystal-lang</a>
- Formatter, linter and syntax highlighting for <code>cr</code> and
<code>ecr</code> files</li>
</ul></li>
</ul>
<h2 id="lsp-language-server-protocol-implementations">LSP Language
Server Protocol Implementations</h2>
<ul>
<li><a href="https://github.com/elbywan/crystalline">crystalline</a> -
Crystalline is an implementation of the Language Server Protocol written
in and for the Crystal Language</li>
<li><a href="https://github.com/crystal-lang-tools/scry">scry</a> - Code
analysis server for Crystal implementing the <a
href="https://microsoft.github.io/language-server-protocol/">Language
Server Protocol</a></li>
</ul>
<h2 id="shell-plugins">Shell plugins</h2>
<ul>
<li><a href="https://github.com/Val/crun">crun</a> - Crystal Run :
shebang wrapper for Crystal</li>
<li><a href="https://github.com/veelenga/crystal-zsh">crystal-zsh</a> -
.oh-my-zsh plugin</li>
</ul>