GithubHelp home page GithubHelp logo

codesteak / awesome-crystal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from veelenga/awesome-crystal

0.0 2.0 0.0 359 KB

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

Home Page: http://awesome-crystal.com/

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 users.

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

Algorithms and Data structures

Api Builders

  • crystal_api - Simple PostgreSQL REST API with Rails devise-like auth
  • kemal-rest-api - A library to create RESTful API with Kemal

Caching

Cli Builders

  • admiral - A robust DSL for writing command line interfaces
  • cli - Library for building command-line interface applications
  • commander - Command-line interface builder
  • completion - Easy command line completion engine
  • docopt - A docopt.org port
  • optarg - Yet another library for parsing command-line options and arguments

Cli Utils

Configuration

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

Database Tools

  • micrate - Database migration tool

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
  • watchbird - Monitors directories and files, runs tasks automatically
  • watcher - Watch file changes using File.stat

Email

Environment Management

Examples and funny stuff

Framework Components

Game Development

  • CrSFML - Bindings to SFML multimedia/game library
  • crystal-chipmunk - Bindings for Chipmunk, a fast and lightweight 2D game physics library
  • flight-crusader - POC top down flight game
  • glove - A library for gaming development
  • inari - A game written in Crystal, using the Glove project as the game engine
  • medico - Game about a medieval doctor
  • mos_game - Mini Offline Singleplayer game

HTTP

Implementations/Compilers

  • charly - Charly Programming Language
  • cppize - Crystal-to-C++ transpiler
  • crisp - Lisp dialect implemented with Crystal
  • crow - Transpile/compile Crystal to Flow
  • crystal - Crystal itself is written in Crystal
  • csmli - Mini-Lisp interpreter
  • NuummiteOS - An OS written in Crystal as a Proof of Concept
  • onix - ONYX Programming Language
  • zir - Realizes to write macros in any scripts into any languages

Logging and monitoring

Low level bindings

Markdown/Text Processors

Misc

  • aasm.cr - Easy to use finite state machine for Crystal classes
  • accord - Sharable validations for Crystal objects
  • acorn - State Machine Compiler for Crystal
  • any_hash.cr - Recursive Hash with better JSON::Any included
  • chalk-box - Terminal color toolbox, check support and colorized (without String monkey patch)
  • circuit_breaker - Implementation of the circuit breaker pattern
  • clamd.cr - Client for the clamd antivirus server
  • cltk - A crystal port of the Ruby Language Toolkit
  • crdoc - CLI tool to search and open documentation
  • cron_scheduler - Job scheduler with crontab patterns
  • crystagiri - An Html Reader / parser like Nokogiri Ruby gem
  • crystal-binary_parser - Binary parser
  • crystal-diff - A Crystal sequence differencing implementation
  • crystal-futures - Future type implementation
  • crystal-i18n - Internationalization library
  • crz - Functional programming library
  • daemonize.cr - Crystal process daemonizer
  • denetmen - Useful micro validator / check library
  • emoji.cr - Emoji library
  • etag - Library to generate HTTP ETags
  • evented - A micro library to publish and subscribe for Crystal objects
  • executable_path - Portable current executable's path
  • haikunator - Heroku-like random name generator
  • hoop - Building native OSX apps
  • hq.cr - Simple wrapper for crystal-xml
  • html_builder - DSL for creating HTML
  • immutable - Implementation of thread-safe, persistent, immutable collections
  • inflector.cr - Singularize, pluralize, camelize, etc (port from ActiveSupport)
  • kreal - Model sharing & RPC library built on and works with Kemal seamlessly
  • lambda.cr - Uniformed function call syntax
  • lirith - Graphics engine
  • manual-generator - Tool to generate PDF manuals from documentation sites
  • metaclass - A library for manipulating class-level definitions
  • 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
  • observable - Implementation of the Observer pattern
  • promise - A Promise Implementation
  • quartz - Simple timer library
  • ramlrenderer - HTLM doc builder for RAML 1.0
  • raytracer-crystal - CPU Raytracer with examples
  • shell.cr - Small simplistic helper class for executing shell commands
  • statsd.cr - Statsd client library
  • stumpy_gif - Write (animated) GIF images
  • stumpy_png - Read and write PNG images
  • syscall.cr - Raw syscall interface
  • tren - Give your SQL some love
  • turkish-number - Turn integers into the Turkish words
  • ulid - Universally Unique Lexicographically Sortable Identifier (ULID)
  • wire - A packet analyzer

Networking

  • amqp.cr - AMQP 0.9.1 client with RabbitMQ extensions
  • bson.cr - Native BSON implementation
  • CrystalIrc - IRC implementation (Client, Server, Bots)
  • fast_irc.cr - Fast IRC parser/generator
  • ipaddress.cr - Library to handle IPv4 and IPv6 addresses
  • jwt - Implementation of JWT (JSON Web Token)
  • msgpack-crystal - MessagePack library

ORM/ODM Extensions

  • active_record.cr - Active Record pattern implementation
  • crecto - Database wrapper, based on Ecto
  • jennifer - Active Record pattern implementation with flexible query chainable builder and migration system
  • kemalyst-model - ORM Model for the Kemalyst Framework
  • ohm-crystal - Object-hash mapping library for Redis
  • redis-tsv.cr - Import and export data from Redis in TSV format
  • selenite-db - A simple persistency-model based library
  • stal-crystal - Set algebra solver for Redis
  • topaz - A simple and useful db wrapper

Package Management

  • shards - Dependency manager for the Crystal

Project generators

  • bindgencr - Generator of bindings based on castxml output
  • crystal_lib - Automatic binding generator for native libraries
  • fez - A Kemal application generator
  • generate - A tool for generating whole Crystal project structure, or any part of it during lifetime of project
  • kgen - Kemalyst command line tool for console, init, generate (scaffolding), and watch.
  • skaf - Scaffolding for Kemal

Queue

Routing

  • beryl - Action-focused HTTP routing library
  • crouter - A standalone router
  • crystal-routing - Extensible library to deal with http request and string based routing
  • route.cr - Minimum but powerful http router for HTTP::Server
  • router-simple.cr - Simple path router
  • toro - Tree Oriented Routing

Science and Data analysis

  • chizge - A Network (Graph) Analysis library, inspired by NetworkX
  • machine - Simple machine learning algorithm
  • predict.cr - Satellite prediction library using the sgp4 model
  • 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

  • crake - Rake-like build utility library. It is just a library, so it does not provide CLI
  • lake - Rake-like task management for Crystal programs
  • sam - Another one Rake-like task manager with namespacing and arguments system

Template Engine

  • Bunny - A simple HTML templating language for Crystal, same syntax as erb
  • crikey - Templating engine inspired by Hiccup
  • crustache - {{Mustache}} for Crystal
  • Kilt - Abstraction layer for template engines
  • Slang - Lightweight, terse, templating language inspired by Ruby's Slim
  • teeplate - A library for rendering multiple template files
  • temel - Extensible HTML::Builder alternative for Crystal, supports custom tag definitions

Testing

Third-party APIs

Virtualization

Web Frameworks

  • amatista - A web framework to create quick applications
  • amethyst - A Rails inspired web-framework
  • carbon-crystal - A framework with Rails in mind
  • chocolate - Simple web framework and template engine
  • frost - Full featured MVC Web Framework, largely inspired by Ruby on Rails
  • iceberg - A full-stack web framework
  • kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra
  • kemalyst - A Rails like framework inspired by Kemal but includes the kitchen sink
  • lattice-core - A WebSocket-first object-oriented framework (based on Kemal)
  • mustafa - Simple MVC framework

Web Servers

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

Community

Resources

Official Documentation Translations

Services and Apps

Tools

DevOps

Editor Plugins

Shell plugins

awesome-crystal's People

Contributors

adlerhsieh avatar akwiatkowski avatar angarsk8 avatar askn avatar benoist avatar blocknotes avatar f avatar faustinoaq avatar gewo avatar greyblake avatar huacnlee avatar izniburak avatar jeromegn avatar jhass avatar jwaldrip avatar kcreate avatar kofno avatar madeindjs avatar makenowjust avatar mrrooijen avatar nephos avatar readmecritic avatar rx14 avatar samueleaton avatar sdogruyol avatar sija avatar superpaintman avatar tbrand avatar veelenga avatar vjdhama avatar

Watchers

 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.