GithubHelp home page GithubHelp logo

werner / awesome-crystal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from veelenga/awesome-crystal

0.0 3.0 0.0 512 KB

:gem: A collection of awesome Crystal libraries, tools, frameworks and software

Home Page: http://awesomelists.top/#/repos/veelenga/awesome-crystal

License: MIT License

Crystal 100.00%

awesome-crystal's Introduction

Awesome Crystal

Awesome Build Status

A curated list of awesome Crystal code and resources. Inspired by awesome and awesome-awesomeness. The goal is to have projects mostly stable and useful for the community.

Search Crystal Shards or follow announcements Crystal [ANN] for more.

Contributions are welcome. Please take a quick look at the contribution guidelines first.

Algorithms and Data structures

Api Builders

C bindings

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

Cli Builders

  • admiral - A robust DSL for writing command line interfaces
  • cli - Library for building command-line interface applications
  • 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

  • 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

  • ameba - A static code analysis tool

Configuration

  • cr-dotenv - Loads .env file
  • habitat - Type safe configuration for your classes and modules

Converters

  • human_file_size.cr - JSON & YAML mapping converter for human file sizes in serialized data
  • 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)

Data Formats

  • crinder - Class based json renderer
  • crystal-toml - TOML parser
  • CSV - parsing and generating for comma-separated values (Crystal stdlib)
  • dockerfile.cr - Dockerfile Parsing Library
  • Gzip - readers and writers of gzip format (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)
  • Zip - readers and writers of zip format (Crystal stdlib)
  • Zlib - readers and writers of zlib format (Crystal stdlib)
  • zq - Command-line ZPL processor

Data Generators

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

Database Drivers/Clients

Database Tools

  • crecto-admin - Admin dashboard for Crecto and your database
  • micrate - Database migration tool
  • 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

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

Email

Environment Management

Examples and funny stuff

Feature Flipping

  • flipper - Feature flipping/flags/rollouts. Supports multiple backends

Framework Components

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
  • glove - A library for gaming development
  • inari - A collection of games using Glove as the game engine
  • mos_game - Mini Offline Singleplayer game

GUI library

HTML/XML Parsing

HTTP

Image processing

Implementations/Compilers

  • charly - Charly Programming Language
  • cltk - A crystal port of the Ruby Language Toolkit
  • cppize - Crystal-to-C++ transpiler
  • crisp - Lisp dialect implemented with Crystal
  • crow - Transpile/compile Crystal to Flow
  • myst-lang - A practical, dynamic language designed to be written and understood as easily and efficiently as possible
  • NuummiteOS - An OS written in Crystal as a Proof of Concept
  • zir - Realizes to write macros in any scripts into any languages

Logging and monitoring

Machine Learning

Markdown/Text Processors

  • html-pipeline - HTML processing filters and utilities
  • markd - Yet another markdown parser built for speed, Compliant to CommonMark specification
  • remarkdown - GFM for Crystal

Misc

  • aasm.cr - Easy to use finite state machine for Crystal classes
  • accord - Sharable validations for Crystal objects
  • any_hash.cr - Recursive Hash with better JSON::Any included
  • circuit_breaker - Implementation of the circuit breaker pattern
  • crystal-binary_parser - Binary parser
  • crystal-futures - Future type implementation
  • crz - Functional programming library
  • denetmen - Useful micro validator / check library
  • emoji.cr - Emoji library
  • hoop - Building native OSX apps
  • html_builder - DSL for creating HTML
  • i18n.cr - Internationalization shard
  • immutable - Implementation of thread-safe, persistent, immutable collections
  • inflector.cr - Singularize, pluralize, camelize, etc (port from ActiveSupport)
  • lirith - Graphics engine
  • m3u8 - Generate and parse m3u8 playlists for HTTP Live Streaming
  • manual-generator - Tool to generate PDF manuals from documentation sites
  • raytracer - CPU Raytracer with examples
  • syscall.cr - Raw syscall interface
  • tren - Give your SQL some love
  • ulid - Universally Unique Lexicographically Sortable Identifier (ULID)
  • wikicr - Wiki using git to manage revisions

Network Protocols

  • amqp.cr - AMQP 0.9.1 client with RabbitMQ extensions
  • bson.cr - Native BSON implementation
  • Crirc - IRC protocol implementation (Client, Server, Bots)
  • fast_irc.cr - Fast IRC parser/generator
  • jwt - Implementation of JWT (JSON Web Token)
  • msgpack-crystal - MessagePack library
  • 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

Networking

ORM/ODM Extensions

  • active_record.cr - Active Record pattern implementation
  • clear - ORM specialized to PostgreSQL only but with advanced features
  • core - Pure, transparent and efficient ORM
  • crecto - Database wrapper, based on Ecto
  • granite-orm - ORM for Postgres, Mysql, Sqlite
  • jennifer.cr - Active Record pattern implementation with flexible query chainable builder and migration system
  • ohm-crystal - Object-hash mapping library for Redis
  • record - Type safe querying, saving and updating
  • redis-tsv.cr - Import and export data from Redis in TSV format
  • stal-crystal - Set algebra solver for Redis
  • topaz - A simple and useful db wrapper

Package Management

  • CRelease - Version and git tag manager that makes shard releases easy
  • shards - Dependency manager for the Crystal

Processes and Threads

  • neph - A modern command line job processor that can execute jobs concurrently
  • promise - A Promise Implementation

Project Generators

  • bindgencr - Generator of bindings based on castxml output
  • crystal_lib - Automatic binding generator for native libraries
  • fez - A Kemal application generator
  • kgen - Kemalyst command line tool for console, init, generate (scaffolding), and watch.
  • libgen - Automatic bindings generator configured using JSON/YAML files
  • wasp - Static Site Generator

Queues and Messaging

  • dispatch - In memory asynchronous job processing
  • mosquito - Redis backed periodic and ad hoc job processing
  • sidekiq.cr - Simple, efficient job processing

Routing

  • crouter - A standalone router
  • orion - A minimal, rails-esque routing library
  • router.cr - Minimum but powerful http router for HTTP::Server
  • toro - Tree Oriented Routing

Scheduling

Science and Data analysis

  • linalg - Linear algebra library inspired by MATLAB and SciPy.linalg
  • predict.cr - Satellite prediction library using the sgp4 model
  • scorystal - Scoring API for PMML - supports RF and GBM
  • stats - An expressive implementation of statistical distributions

Search

  • hermes - Data Mapper pattern implementation for ElastiSearch
  • query-builder - Sql Query Builder library
  • query.cr - Query abstraction
  • soegen - Elasticsearch client for Crystal similar to the stretcher gem for ruby

Task management

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

Template Engine

Testing

Third-party APIs

Virtualization

Web Frameworks

  • amber - Open source efficient and cohesive web application framework
  • kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra
  • lattice-core - A WebSocket-first object-oriented framework (based on Kemal)
  • lucky - Catch bugs early, forget about most performance issues, and spend more time on code instead of debugging and writing tests
  • prism - Light, modular web framework
  • raze - Modular, light web framework
  • spider-gazelle - A Rails esque web framework with a focus on speed and extensibility

Web Servers

  • fast-http-server - Super fast, zero configuration command line HTTP Server
  • prax.cr - Rack proxy server for development
  • serve - Command line static HTTP server

Community

Resources

Official Documentation Translations

Services and Apps

  • carc.in - A web service that runs your code and displays the result
  • Crank - A Procfile-based application manager (like Foreman)
  • cry - Ability to execute crystal code in a fashion similar to Ruby's pry edit
  • Crystal [ANN] - Announce new project, blog post, version update or any other Crystal work
  • crystalshards.herokuapp.com, crystalshards.xyz - Web services that list all available Crystal shards
  • DeBot - IRC bot written in Crystal
  • Ficha - A super secret chat app, for any body who needs privacy
  • Firegrid - Click anywhere with only a few key strokes
  • icr - Interactive console for Crystal (like IRB for Ruby)
  • JSON to Crystal - Paste in a JSON object and get Crystal mappings in response
  • nes - A NES emulator
  • shards.rocks - Service that manages dependencies inspired by Gemnasium and David
  • soundmemes.cr - Telegram Bot built on top of tele.cr
  • torrent - A BitTorrent client

Tools

DevOps

Editor Plugins

Shell plugins

awesome-crystal's People

Contributors

adlerhsieh avatar aisrael avatar blocknotes avatar faustinoaq avatar fridgerator avatar greyblake avatar hugoabonizio avatar izniburak avatar johnjansen avatar jwaldrip avatar kcreate avatar kofno avatar makenowjust avatar mrrooijen avatar nephos avatar olbat avatar papilip avatar paulcsmith avatar readmecritic avatar rx14 avatar samueleaton avatar sija avatar straight-shoota avatar superpaintman avatar tbrand avatar tobyapi avatar tpei avatar veelenga avatar vjdhama avatar vladfaust avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.