GithubHelp home page GithubHelp logo

petoem / 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 412 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

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

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

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

Configuration

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

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

  • 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 collection of games using Glove as the game engine
  • medico - Game about a medieval doctor
  • mos_game - Mini Offline Singleplayer game

HTML/XML Parsing

HTTP

  • cossack - Simple flexible HTTP client
  • crul - Command line HTTP client
  • cryload - HTTP benchmarking tool
  • halite - Yet another simple HTTP and REST client with a chainable API, built-in sessions and timeouts
  • helmet - Set security-related HTTP headers
  • http-multiserver.cr - Mounting multiple servers via routes (a.k.a. URL mapping)
  • http-protection - Protection against typical web attacks
  • http2 - HTTP/2 Protocol Implementation
  • http_distributor - HTTP server which allows sneaky http requests
  • http_parser.cr - Wrapper for Http Parser lib
  • keyer_cr - Adds HTTP GET/POST parameter parsing as a Hash-like object
  • multipart.cr - Adds multipart and multipart/form-data support to the crystal standard library
  • resp-crystal - Lightweight RESP client
  • session - Cookie based sessions in Crystal HTTP applications

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
  • onix - ONYX Programming Language
  • 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
  • acorn - State Machine Compiler for Crystal
  • any_hash.cr - Recursive Hash with better JSON::Any included
  • circuit_breaker - Implementation of the circuit breaker pattern
  • clamd.cr - Client for the clamd antivirus server
  • 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)
  • kreal - Model sharing & RPC library built on and works with Kemal seamlessly
  • lirith - Graphics engine
  • manual-generator - Tool to generate PDF manuals from documentation sites
  • ramlrenderer - HTML doc builder for RAML 1.0
  • raytracer - CPU Raytracer with examples
  • shell.cr - Small simplistic helper class for executing shell commands
  • 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

Networking

ORM/ODM Extensions

  • active_record.cr - Active Record pattern implementation
  • 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
  • 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

  • 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
  • skaf - Scaffolding for Kemal
  • wasp - Static Site Generator

Queue

Routing

  • beryl - Action-focused HTTP routing library
  • crouter - A standalone router
  • orion - A minimal, rails'esk 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
  • amethyst - A Rails inspired web-framework
  • kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra
  • lattice-core - A WebSocket-first object-oriented framework (based on Kemal)
  • luckyframework - Fast, maintainable and confidence boosting web framework
  • mustafa - Simple MVC framework
  • raze - Modular, light web 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

  • carc.in - A web service that runs your code and displays the result
  • Crank - A Procfile-based application manager (like Foreman)
  • 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
  • icr - Interactive console for Crystal (like IRB for Ruby)
  • 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 akwiatkowski avatar benoist avatar blocknotes avatar faustinoaq avatar fridgerator avatar greyblake avatar izniburak avatar johnjansen avatar jwaldrip avatar kofno avatar makenowjust avatar mrrooijen avatar nephos avatar papilip avatar ragmaanir avatar readmecritic avatar rx14 avatar samueleaton avatar sdogruyol avatar sija avatar superpaintman avatar tamasszekeres avatar taylorfinnell avatar tbrand avatar tobyapi avatar tpei avatar veelenga avatar vjdhama avatar vladfaust 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.