awesome-ruby
A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/eric-erki/awesome-ruby
Last synced: about 7 hours ago
JSON representation
-
Form Builder
- Rapidfire - Making dynamic surveys should be easy!
- Formtastic - A Rails form builder plugin with semantically rich and accessible markup.
- Rapidfire - Making dynamic surveys should be easy!
- Simple Form - Rails forms made easy.
- Rails Bootstrap Forms - Rails form builder that makes it super easy to create beautiful-looking forms with Twitter Bootstrap 3+.
- Reform - Gives you a form object with validations and nested setup of models. It is completely framework-agnostic and doesn't care about your database.
-
Game Development
- Yeah - Practical Ruby video game framework.
-
Gem Generators
-
Geolocation
- Geocoder - A complete geocoding solution for Ruby. With Rails it adds geocoding (by street or IP address), reverse geocoding (find street address based on given coordinates), and distance queries.
- geoip - Searches a GeoIP database for a given host or IP address, and returns information about the country where the IP address is allocated, and the city, ISP and other information.
- Geokit - Geokit gem provides geocoding and distance/heading calculations.
- Google Maps for Rails - Enables easy Google map + overlays creation in Ruby apps.
- rgeo - Geospatial data library. Spatial data types, geometric and spherical calculations, and WKT/WKB serialization.
-
Git Tools
- Git Cop - Enforces consistent Git commits.
- ginatra - A web frontend for Git repositories.
- git-auto-bisect - Find the commit that broke master.
- git_reflow - An automated quality control workflow for Agile teams.
- git-spelunk - Dig through git blame history.
- git-up - Fetch and rebase all locally-tracked remote branches.
- git-whence - Find which merge a commit came from.
- Overcommit - A fully configurable and extendable Git hook manager.
- Rugged - Ruby bindings to libgit2.
- Overcommit - A fully configurable and extendable Git hook manager.
-
GraphQL
- graphql-batch
- graphql-client - A library for declaring, composing and executing GraphQL queries.
- graphql-guard - A simple field-level authorization.
- graphql-ruby - Ruby implementation of GraphQL.
-
GUI
- RubyGnome2 - Ruby language bindings for the GNOME 2.0 development environment.
- qtbindings - Allows the QT Gui toolkit to be used from Ruby.
- Shoes - Shoes makes building little graphical programs for Mac, Windows, and Linux super simple.
- Shoes - Shoes makes building little graphical programs for Mac, Windows, and Linux super simple.
-
HTML/XML Parsing
- HappyMapper - Object to XML mapping library, using Nokogiri.
- Oga - An XML/HTML parser written in Ruby. Oga does not require system libraries such as libxml, making it easier and faster to install on various platforms.
- Ox - A fast XML parser and Object marshaller.
- ROXML - Custom mapping and bidirectional marshalling between Ruby and XML using annotation-style class methods, via Nokogiri or LibXML.
- HappyMapper - Object to XML mapping library, using Nokogiri.
- HTML::Pipeline - HTML processing filters and utilities.
-
HTTP Clients and tools
- HTTPX - acknowledges the ease-of-use of the [http](https://github.com/httprb/http) gem API (itself inspired by python requests library) which aims at reusing the same facade, extending it for the use cases which the http gem doesn't support.
- excon - Usable, fast, simple Ruby HTTP 1.1. It works great as a general HTTP(s) client and is particularly well suited to usage in API clients.
- Faraday - an HTTP client lib that provides a common interface over many adapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle.
- Device Detector - A precise and fast user agent parser and device detector, backed by the largest and most up-to-date user agent database.
- Http Client - Gives something like the functionality of libwww-perl (LWP) in Ruby.
- HTTP - The HTTP Gem: a simple Ruby DSL for making HTTP requests.
- httparty - Makes http fun again!
- Http-2 - Pure Ruby implementation of HTTP/2 protocol
- Patron - Patron is a Ruby HTTP client library based on libcurl.
- RESTClient - Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
- Savon - Savon is a SOAP client for the Ruby programming language.
- Sawyer - Secret user agent of HTTP, built on top of Faraday.
- Sniffer
- Typhoeus - Typhoeus wraps libcurl in order to make fast and reliable requests.
-
Image Processing
- MiniMagick - A ruby wrapper for ImageMagick or GraphicsMagick command line.
- Phasion - Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files.
- PSD.rb - Parse Photoshop files in Ruby with ease.
- RMagick - RMagick is an interface between Ruby and ImageMagick.
- ruby-vips - A binding for the libvips image processing library.
- Skeptick - Skeptick is an all-purpose DSL for building and running ImageMagick commands.
- ruby-vips - A binding for the libvips image processing library.
-
Implementations/Compilers
- JRuby - A Java implementation of the Ruby language.
- MRuby - Lightweight Ruby. Can be linked and embedded in your application.
- Opal - Ruby to Javascript compiler.
- Rubinius - An implementation of the Ruby programming language. Rubinius includes a bytecode virtual machine, Ruby syntax parser, bytecode compiler, generational garbage collector, just-in-time (JIT) native machine code compiler, and Ruby Core and Standard libraries.
- TruffleRuby - A high performance implementation of the Ruby programming language. Built on the GraalVM by Oracle Labs.
-
Internationalization
- FastGettext - Ruby internationalization tool with less memory, simple, clean namespace and threadsafe.
- Globalize - Globalize builds on the I18n API in Ruby on Rails to add model translations to ActiveRecord models.
- i18n-tasks - Manage missing and unused translations with the awesome power of static analysis.
- i18n - Ruby Internationalization and localization solution.
- rails-i18n - Repository for collecting Locale data for Rails I18n as well as other interesting, Rails related I18n stuff.
- Termit - Translations with speech synthesis in your terminal.
- Tolk - A web interface for doing i18n translations packaged as a Rails engine.
- twitter-cldr-rb - Ruby implementation of the ICU (International Components for Unicode) that uses the Common Locale Data Repository to format dates, plurals, and more.
- r18n - Advanced i18n library for Rails, Sinatra, desktop apps, models, works well with complex languages like Russian.
- i18n - Ruby Internationalization and localization solution.
-
IRB
- Clipboard - Access to the system clipboard on Linux, MacOS and Windows.
- Hirb - A mini view framework for console/irb that's easy to use, even while under its influence. Console goodies include a no-wrap table, auto-pager, tree and menu.
- irbtools - Improvements for Ruby's IRB.
- Looksee - A tool for illustrating the ancestry and method lookup path of objects. Handy for exploring unfamiliar codebases.
- Pry - A powerful alternative to the standard IRB shell for Ruby.
- rib - A lightweight and extensible IRB replacement.
- rib - A lightweight and extensible IRB replacement.
-
Logging
- Cabin - Structured+contextual logging experiments in Ruby.
- Fluentd - Fluentd collects events from various data sources and writes them to files, database or other types of storages.
- HttpLog - Log outgoing HTTP requests.
- Log4r - Log4r is a comprehensive and flexible logging library for use in Ruby programs.
- Logging - A flexible logging library for use in Ruby programs based on the design of Java's log4j library.
- Lograge - An attempt to tame Rails' default policy to log everything.
- MongoDB Logger - MongoDB logger for Rails.
- Scrolls - Simple logging.
- Syslogger - A drop-in replacement for the standard Logger Ruby library, that logs to the syslog instead of a log file.
- Timber - Simple structured logging with context.
- Yell - Your Extensible Logging Library.
- Semantic Logger - Scalable, next generation enterprise logging for Ruby.
- Timber - Simple structured logging with context.
-
Machine Learning
- Awesome Machine Learning with Ruby - A Curated List of Ruby Machine Learning Links and Resources.
- AI4R - Algorithms covering several Artificial intelligence fields.
- PredictionIO Ruby SDK - The PredictionIO Ruby SDK provides a convenient API to quickly record your users' behavior and retrieve personalized predictions for them.
- rb-libsvm - Ruby language bindings for LIBSVM. SVM is a machine learning and classification algorithm.
- ruby-fann - Ruby library for interfacing with FANN (Fast Artificial Neural Network).
- rumale - A machine learninig library with interfaces similar to Scikit-Learn.
- weka - Machine learning and data mining algorithms for JRuby.
- PredictionIO Ruby SDK - The PredictionIO Ruby SDK provides a convenient API to quickly record your users' behavior and retrieve personalized predictions for them.
-
Markdown Processors
- kramdown - Kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions.
- Maruku - A pure-Ruby Markdown-superset interpreter.
- Redcarpet - A fast, safe and extensible Markdown to (X)HTML parser.
- word-to-markdown - Gem to convert Microsoft Word documents to Markdown.
-
Measurements
- Measured - Wrapper objects which encapsulate measurements and their associated units in Ruby.
- Ruby Units - Provides classes and methods to perform unit math and conversions.
-
Mobile Development
- fastlane - Connect all iOS deployment tools into one streamlined workflow.
- dryrun - Try any Android library on your smartphone directly from the command line.
- Ruboto - A platform for developing full stand-alone apps for Android using the Ruby language and libraries.
- RubyMotion - A revolutionary toolchain that lets you quickly develop and test full-fledged native iOS and OS X applications for iPhone, iPad, Mac and Android.
- Ruby Push Notifications - iOS, Android and Windows Phone Push notifications made easy.
- Rpush - The push notification service for Ruby which supports Apple Push Notification Service, Google Cloud Messaging, Amazon Device Messaging and Windows Phone Push Notification Service.
- webpush - Encryption Utilities for Web Push protocol
- RubyMotion - A revolutionary toolchain that lets you quickly develop and test full-fledged native iOS and OS X applications for iPhone, iPad, Mac and Android.
-
Money
- eu_central_bank - A gem that calculates the exchange rate using published rates from European Central Bank.
- Monetize - A library for converting various objects into Money objects.
- Money - A Ruby Library for dealing with money and currency conversion.
-
Music and Sound
-
Natural Language Processing
- Awesome NLP with Ruby - Awesome List for Practical Natural Language Processing done in Ruby.
- Parslet - A small Ruby library for constructing parsers in the PEG (Parsing Expression Grammar) fashion.
- pocketsphinx-ruby - Ruby speech recognition with Pocketsphinx.
- Pragmatic Segmenter - Pragmatic Segmenter is a rule-based sentence boundary detection gem that works out-of-the-box across many languages.
- Ruby Natural Language Processing Resources - Collection of links to Ruby Natural Language Processing (NLP) libraries, tools and software.
- Sentimental - Simple sentiment analysis with Ruby.
- Text - A collection of text algorithms including Levenshtein distance, Metaphone, Soundex 2, Porter stemming & White similarity.
- Treat - Treat is a toolkit for natural language processing and computational linguistics in Ruby.
- Treetop - PEG (Parsing Expression Grammar) parser.
- Words Counted - A highly customisable Ruby text analyser and word counter.
- Parslet - A small Ruby library for constructing parsers in the PEG (Parsing Expression Grammar) fashion.
-
Navigation
- active_link_to - View helper to manage "active" state of a link.
- Breadcrumbs on Rails - A simple Ruby on Rails plugin for creating and managing a breadcrumb navigation for a Rails project.
- Gretel - A Ruby on Rails plugin that makes it easy yet flexible to create breadcrumbs.
- loaf - Manages and displays breadcrumb trails in Rails app - lean & mean.
- Simple Navigation - A ruby gem for creating navigation (html list, link list or breadcrumbs with multiple levels) for your Rails 2, 3 & 4, Sinatra or Padrino.
- loaf - Manages and displays breadcrumb trails in Rails app - lean & mean.
-
Networking
- Dnsruby - A pure Ruby DNS client library which implements a stub resolver. It aims to comply with all DNS RFCs.
- RubyDNS - A high-performance DNS server which can be easily integrated into other projects or used as a stand-alone daemon.
- RubyDNS - A high-performance DNS server which can be easily integrated into other projects or used as a stand-alone daemon.
-
Optimizations
- bootsnap - Boot large Ruby/Rails apps faster.
- fast_blank - Provides a C-optimized method for determining if a string is blank.
- yajl-ruby - A streaming JSON parsing and encoding library for Ruby (C bindings to yajl).
-
ORM/ODM
- DataMapper - ORM which works well with legacy databases. Last release (1.2.0) was on 13 October 2011.
- Hanami::Model - A lean Repository-pattern based ORM framework for Hanami and modern Ruby applications.
- Mongoid - An ODM (Object-Document-Mapper) framework for MongoDB in Ruby.
- MongoMapper - A Ruby Object Mapper for Mongo.
- MongoModel - Ruby ODM for interfacing with MongoDB databases.
- Neo4j.rb - A Neo4j OGM (Object-Graph-Mapper) for use in Ruby on Rails and Rack frameworks heavily inspired by ActiveRecord.
- NoBrainer - A RethinkDB ORM for Ruby
- Ohm - Object-hash mapping library for Redis.
- Perpetuity - Persistence gem for Ruby objects using the Data Mapper pattern.
- Redis-Objects - Redis Objects provides a Rubyish interface to Redis, by mapping Redis data types to Ruby objects, via a thin layer over the redis gem.
- ROM - Ruby Object Mapper (ROM) is an experimental Ruby library with the goal to provide powerful object mapping capabilities without limiting the full power of your datastore.
- Sequel - Sequel is a simple, flexible, and powerful SQL database access toolkit for Ruby.
- Neo4j.rb - A Neo4j OGM (Object-Graph-Mapper) for use in Ruby on Rails and Rack frameworks heavily inspired by ActiveRecord.
- ActiveRecord - Object-relational mapping in Rails.
- NoBrainer - A RethinkDB ORM for Ruby
-
ORM/ODM Extensions
- ActsAsParanoid - ActiveRecord plugin allowing you to hide and restore records without actually deleting them.
- Audited - Audited is an ORM extension for ActiveRecord & MongoMapper that logs all changes to your models.
- Discard - A simple ActiveRecord mixin to add conventions for flagging records as discarded.
- Espinita - Audit activerecord models like a boss.
- Logidze - Database changes log for Rails.
- marginalia - Attach comments to your ActiveRecord queries. By default, it adds the application, controller, and action names as a comment at the end of each query.
- mongoid-history - Multi-user non-linear history tracking, auditing, undo, redo for mongoid.
- PermenantRecords - Soft-delete your ActiveRecord records, like an explicit version of ActsAsParanoid.
- ActiveImporter - Define importers that load tabular data from spreadsheets or CSV files into any ActiveRecord-like ORM.
- ActiveRecord Import - a library for bulk inserting data using ActiveRecord.
- bulk_insert - A little ActiveRecord extension for helping to insert lots of rows in a single insert statement.
- data_miner - Download, pull out of a ZIP/TAR/GZ/BZ2 archive, parse, correct, and import XLS, ODS, XML, CSV, HTML, etc. into your ActiveRecord models.
- ferry - A ruby gem for easy data transfer.
- ActiveRecord::Turntable - A database sharding extension for ActiveRecord.
- ActiveValidators - An exhaustive collection of off-the-shelf and tested ActiveModel/ActiveRecord validations.
- DeepPluck - Allow you to pluck attributes from nested associations without loading a bunch of records.
- Enumerize - Enumerated attributes with I18n and ActiveRecord/Mongoid/MongoMapper support.
- Goldiloader - Automatic ActiveRecord eager loading.
- mini_record - ActiveRecord meets DataMapper, with MiniRecord you are be able to write schema inside your models.
- Acts As Tennant - Add multi-tenancy to a Rails app through a shared database strategy.
- Apartment - Multi-tenancy for Rails and ActiveRecord.
- Milia - Non-invasive multi-tenancy for Rails which supports Devise authentication out of the box.
- Acts As Commentable - Provides a single Comment model that can be attached to any model(s) within your app.
- Acts As Commentable with Threading - Similar to acts_as_commentable; however, utilizes awesome_nested_set to provide threaded comments.
- acts_as_follower - Allow any ActiveRecord model to follow any other model.
- ActiveRecord Reputation System - An Active Record Reputation System for Rails.
- ActsAsTaggableOn - A tagging plugin for ActiveRecord that allows for custom tagging along dynamic contexts.
- Acts As Votable - Allow any ActiveRecord model to be voted on, like/dislike, upvote/downvote, etc.
- Merit - Adds reputation behavior to Rails apps in the form of Badges, Points, and Rankings for ActiveRecord or Mongoid.
- Simple Feed - Fast and highly scalable read-optimized social activity feed library in pure Ruby, backed by Redis.
- Unread - Manage read/unread status of ActiveRecord objects - and it's fast.
- ranked-model - A modern row sorting library for ActiveRecord. It uses ARel aggressively and is better optimized than most other libraries.
- ActsAsTree - Extends ActiveRecord to add simple support for organizing items into parent–children relationships.
- Ancestry - Organise ActiveRecord model into a tree structure using a variation on the materialised path pattern.
- Awesome Nested Set - Awesome Nested Set is an implementation of the nested set pattern for ActiveRecord models.
- Mongoid Tree - A tree structure for Mongoid documents using the materialized path pattern.
- PaperTrail - Track changes to your ActiveRecord models' data for auditing or versioning.
- PublicActivity - Provides easy activity tracking for your ActiveRecord, Mongoid 3 and MongoMapper models in Rails 3 and 4. Similar to Github's Public Activity.
- ranked-model - A modern row sorting library for ActiveRecord. It uses ARel aggressively and is better optimized than most other libraries.
Programming Languages
Categories
ORM/ODM Extensions
45
Testing
41
Third-party APIs
30
WebSocket
29
Scientific
27
Code Analysis and Metrics
19
DevOps Tools
19
API Builder and Discovery
18
Database Tools
18
Search
16
Email
15
CLI Utilities
15
Date and Time Processing
15
ORM/ODM
15
Authentication and OAuth
15
E-Commerce and Payments
15
Documentation
15
Abstraction
15
HTTP Clients and tools
14
CLI Builder
14
Web Frameworks
14
Logging
13
PDF
12
CMS
12
Queues and Messaging
12
Core Extensions
12
Database Drivers
11
Assets
11
Natural Language Processing
11
Caching
11
Profiler and Optimization
11
Configuration
11
Internationalization
10
Package Management
10
Git Tools
10
State Machines
9
Error Handling
9
Country Data
9
Form Builder
8
Authorization
8
Code Formatting
8
Web Servers
8
Environment Management
8
Mobile Development
8
Machine Learning
8
Spreadsheets and Documents
7
Admin Interface
7
Analytics
7
File Upload
7
Coding Style Guides
7
Image Processing
7
Data Visualization
7
Social Networking
7
Debugging Tools
7
IRB
7
Web Crawling
7
HTML/XML Parsing
6
Cloud
6
Navigation
6
Static Site Generation
6
Template Engine
6
Performance Monitoring
6
Security
6
RSS
6
Rails Application Generators
6
Ebook
6
Process Management and Monitoring
6
View helpers
6
Concurrency and Parallelism
5
Geolocation
5
Encryption
5
Implementations/Compilers
5
Scheduling
5
Feature Flippers and A/B Testing
5
Pagination
4
GUI
4
GraphQL
4
Captchas and anti-spam
4
SEO
4
Music and Sound
4
Markdown Processors
4
File System Listener
4
Money
3
Optimizations
3
Networking
3
Processes
3
Dashboards
3
Diff
3
Automation
2
Measurements
2
Code Highlighting
2
Robotics
2
Data Processing and ETL
2
Video
2
Decorators
2
Cryptocurrencies and Blockchains
2
Gem Generators
2
Serverless
2
Code Loaders
1
Game Development
1
CRM
1
QR
1
Presentation Programs
1
Sub Categories
Keywords
ruby
243
rails
86
activerecord
26
ruby-on-rails
16
gem
13
api
11
http
10
rack
9
sinatra
9
ruby-gem
9
rubygems
8
rubyml
8
database
8
terminal
7
testing
7
machine-learning
7
redis
7
jruby
6
static-analysis
6
rspec
6
authorization
6
automation
6
security
5
postgresql
5
logging
5
markdown
5
orm
5
graphql
5
sql
5
elasticsearch
5
rubygem
4
cli
4
performance
4
background-jobs
4
events
4
pdf
4
state-machine
4
server
4
monitoring
4
scheduler
4
javascript
4
rubynlp
4
ios
4
dsl
4
postgres
4
search
4
authentication
4
productivity
3
fast
3
mongodb
3