awesome-ruby
💎 A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/markets/awesome-ruby
Last synced: 2 days ago
JSON representation
-
Image Processing
-
Implementations/Compilers
- JRuby - A Java implementation of the Ruby language.
- MRuby - Lightweight Ruby. Can be linked and embedded in your application.
- Natalie - Natalie is a Ruby compiler that provides an ahead-of-time compiler using C++ and gcc/clang as the backend.
- 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.
- 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.
- mini_i18n - Minimalistic, flexible and fast Internationalization library. It supports localization, interpolations, pluralization, fallbacks, nested keys and more.
- rails-i18n - Repository for collecting Locale data for Rails I18n as well as other interesting, Rails related I18n stuff.
- r18n - Advanced i18n library for Rails, Sinatra, desktop apps, models, works well with complex languages like Russian.
- 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.
- i18n - Ruby Internationalization and localization solution.
- i18n - Ruby Internationalization and localization solution.
- r18n - Advanced i18n library for Rails, Sinatra, desktop apps, models, works well with complex languages like Russian.
-
IRB
- rib - A lightweight and extensible IRB replacement.
- Clipboard - Access to the system clipboard on Linux, MacOS and Windows.
- KatakataIrb - IRB with Kata(åž‹ Type) completion.
- 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.
-
Logging
- Semantic Logger - Scalable, next generation enterprise logging for 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.
- Ougai - A structured logging system that is capable of handling a message, structured data, or an exception easily. It has JSON and human-readable formatters.
- Scrolls - Simple logging.
- Syslogger - A drop-in replacement for the standard Logger Ruby library, that logs to the syslog instead of a log file.
- Yell - Your Extensible Logging Library.
-
Machine Learning
- Awesome Machine Learning with Ruby - A Curated List of Ruby Machine Learning Links and Resources.
- AI4R - Algorithms covering several Artificial intelligence fields.
- m2cgen - A CLI tool to transpile trained classic ML models into a native Ruby code with zero dependencies.
- 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 learning library with interfaces similar to Scikit-Learn.
- Torch.rb - Deep learning for Ruby, powered by LibTorch.
- weka - Machine learning and data mining algorithms for JRuby.
- TensorFlow - The end-to-end machine learning platform for Ruby.
- PredictionIO Ruby SDK - The PredictionIO Ruby SDK provides a convenient API to quickly record your users' behavior and retrieve personalized predictions for them.
- TensorFlow - The end-to-end machine learning platform for Ruby.
-
Markdown Processors
- kramdown - Kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions.
- markdown_helper - A markdown pre-processor implementing file inclusion and page TOC (table of contents).
- 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.
- ZMediumToMarkdown - A powerful tool that allows you to effortlessly download and convert your Medium posts to Markdown format.
-
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.
- 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.
- dryrun - Try any Android library on your smartphone directly from the command line.
- PubNub - Real-time Push Service in the Cloud.
- 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.
- fastlane-plugin-pgyer - Distribute iOS, Android and HarmonyOS apps to PGYER beta testing service from your Fastlane lane.
-
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
- Coltrane - A music theory library with a command-line interface.
- Maestro - A Slack-Powered music bot for Spotify
- Sonic Pi - A live coding synth for everyone originally designed to support computing and music lessons.
- Sonic Pi - A live coding synth for everyone originally designed to support computing and music lessons.
-
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.
- ruby-spellchecker - English spelling and grammar checker that can be used for autocorrection.
- Textstat - Ruby gem for text readability analysis. Calculate readability statistics using 13 proven formulas (Flesch, SMOG, Coleman-Liau, etc.) with support for 22 languages.
-
Networking
- Dnsruby - A pure Ruby DNS client library which implements a stub resolver. It aims to comply with all DNS RFCs.
- PacketFu - A library for reading and writing packets to an interface or to a libpcap-formatted file.
- 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.
-
Notifications
- Noticed - ActionMailer-like Notification System for your Ruby on Rails app.
- 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.
-
Optimizations
- bootsnap - Boot large Ruby/Rails apps faster.
- fast_blank - Provides a C-optimized method for determining if a string is blank.
- fast_count - Quickly get a count estimation for large tables (>99% of accuracy for PostgreSQL).
- pluck_in_batches - A faster alternative to the custom use of `in_batches` with `pluck`.
- yajl-ruby - A streaming JSON parsing and encoding library for Ruby (C bindings to yajl).
- fast_underscore - Provides a C-optimized method for transforming a string from any capitalization into underscore-separated
- bootsnap - Boot large Ruby/Rails apps faster.
- fast_underscore - Provides a C-optimized method for transforming a string from any capitalization into underscore-separated
-
ORM/ODM
- ActiveRecord - Object-relational mapping in Rails.
- Neo4j.rb - A Neo4j OGM (Object-Graph-Mapper) for use in Ruby on Rails and Rack frameworks heavily inspired by ActiveRecord.
- 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.
- 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.
- Ohm - Object-hash mapping library for Redis.
- 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.
- ActiveRecord - Object-relational mapping in Rails.
- NoBrainer - A RethinkDB ORM for Ruby
-
ORM/ODM Extensions
- active_snapshot - Simplified snapshots and restoration for ActiveRecord models and associations with a transparent white-box implementation
- acts_as_archival - ActiveRecord plugin for atomic object tree archiving.
- 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.
- 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.
- PaperTrail - Track changes to your ActiveRecord models' data for auditing or versioning.
- PermenantRecords - Soft-delete your ActiveRecord records, like an explicit version of ActsAsParanoid.
- ActiveFlag - Store up to 64 multiple flags in a single integer column with ActiveRecord.
- Bitfields - Save migrations and columns by storing multiple booleans in a single integer.
- 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.
- arel_extensions - Extending Arel: more "rubyish" syntax, functions for strings, dates, math... and add native extensions for some DBs.
- 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.
- Rating - A true Bayesian rating system with scope and cache enabled.
- 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.
- Merit - Adds reputation behavior to Rails apps in the form of Badges, Points, and Rankings for ActiveRecord or Mongoid.
- PublicActivity - Provides easy activity tracking for your ActiveRecord, Mongoid 3 and MongoMapper models in Rails 3 and 4. Similar to Github's Public Activity.
- 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.
- positioning - Simple positioning for Active Record models. Supports multiple lists per model and relative positioning.
- 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.
- ActsAsRecursiveTree - ActsAsTree but recursive.
- 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.
- Closure Tree - Easily and efficiently make your ActiveRecord models support hierarchies using a Closure Table.
- Mongoid Tree - A tree structure for Mongoid documents using the materialized path pattern.
- Destroyed At - Allows you to "destroy" an object without deleting the record or associated records.
- mongoid-history - Multi-user non-linear history tracking, auditing, undo, redo for mongoid.
- Acts As Taggable On - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
- Paranoia - A re-implementation of acts_as_paranoid for Rails 3 and 4, using much, much, much less code.
- ActsAsList - Provides the capabilities for sorting and reordering a number of objects in a list.
- Destroyed At - Allows you to "destroy" an object without deleting the record or associated records.
- mongoid-history - Multi-user non-linear history tracking, auditing, undo, redo for mongoid.
- PaperTrail - Track changes to your ActiveRecord models' data for auditing or versioning.
- Paranoia - A re-implementation of acts_as_paranoid for Rails 3 and 4, using much, much, much less code.
- Merit - Adds reputation behavior to Rails apps in the form of Badges, Points, and Rankings for ActiveRecord or Mongoid.
- PublicActivity - Provides easy activity tracking for your ActiveRecord, Mongoid 3 and MongoMapper models in Rails 3 and 4. Similar to Github's Public Activity.
- ActsAsList - Provides the capabilities for sorting and reordering a number of objects in a list.
- ranked-model - A modern row sorting library for ActiveRecord. It uses ARel aggressively and is better optimized than most other libraries.
- Closure Tree - Easily and efficiently make your ActiveRecord models support hierarchies using a Closure Table.
-
Package Management
- Bundler - Manage your application's gem dependencies with less pain.
- RubyGems - Community's gem hosting service.
- Cloudsmith - A fully managed package management SaaS with support for Rubygems (and many others).
- Traveling Ruby - Traveling Ruby lets you create self-contained Ruby app packages for Linux and OS X.
- Berkshelf - A Chef Cookbook manager.
- CocoaPods - The Objective-C dependency manager.
- fpm - Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
- Linuxbrew - A fork of Homebrew for Linux.
- Homebrew - The missing package manager for OS X.
- Homebrew-cask - A CLI workflow for the administration of Mac applications distributed as binaries.
- Homebrew-cask - A CLI workflow for the administration of Mac applications distributed as binaries.
-
Pagination
- activerecord_cursor_paginate - Cursor-based pagination for ActiveRecord.
- Kaminari - A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs.
- order_query - A keyset pagination library to find the next or previous record(s) relative to the current one efficiently, e.g. for infinite scroll.
- Pagy - Pagy is the ultimate pagination gem that outperforms the others in each and every benchmark and comparison. More details can be found on [Pagy Wiki](https://ddnexus.github.io/pagy/index).
- will_paginate - A pagination library that integrates with Ruby on Rails, Sinatra, Merb, DataMapper and Sequel.
-
PDF
- CombinePDF - A Pure ruby library to merge or stump PDF files, number pages and more.
- Grim - Extract PDF pages as images and text. A simple Ruby API to ghostscript, imagemagick, and pdftotext.
- HexaPDF - A Versatile PDF Creation and Manipulation Library For Ruby.
- InvoicePrinter - Super simple PDF invoicing in Ruby (built on top of Prawn).
- Kitabu - A framework for creating e-books from Markdown/Textile text markup using Ruby.
- Pdfkit - HTML+CSS to PDF using wkhtmltopdf.
- Prawn - Fast, Nimble PDF Writer for Ruby.
- RGhost - RGhost is a document creation and conversion API.
- Wicked Pdf - PDF generator (from HTML) plugin for Ruby on Rails.
- Squid - Squid · A Ruby library to plot charts in PDF files
- Squid - Squid · A Ruby library to plot charts in PDF files
-
Performance Monitoring
- RoRvsWild - Performances and exceptions monitoring for Rails developers.
- Scout - Scout Ruby Application Monitoring Agent.
- Skylight - A smart profiler for your Rails apps that visualizes request performance.
- Instrumental - Measure your application in real time with [Instrumental](http://instrumentalapp.com).
- New Relic - Find and fix Ruby errors with New Relic application monitoring and troubleshooting.
- Instrumental - Measure your application in real time with [Instrumental](http://instrumentalapp.com).
- New Relic - Find and fix Ruby errors with New Relic application monitoring and troubleshooting.
-
Presentation Programs
- Slide Show (S9) - Write your slides / talks / presentations in plain text with markdown formatting conventions and generate (static) web pages; template packs incl. deck.js, impress.js, reveal.js, shower, s6, s5 and more.
-
Processes
- posix-spawn - Fast Process::spawn for Rubys >= 1.8.7 based on the posix_spawn() system interfaces.
Programming Languages
Categories
Testing
55
ORM/ODM Extensions
51
Third-party APIs
36
API Builder and Discovery
27
Scientific
25
Database Tools
21
Code Analysis and Metrics
20
Queues and Messaging
20
CMS
20
Date and Time Processing
19
DevOps Tools
19
Web Frameworks
18
Core Extensions
18
HTTP Clients and tools
17
Email
17
Search
16
Security
16
Documentation
16
CLI Builder
16
Authentication and OAuth
16
CLI Utilities
15
Profiler and Optimization
14
Discover
14
Assets
13
Configuration
13
E-Commerce and Payments
13
Environment Management
12
ORM/ODM
12
Natural Language Processing
12
Internationalization
12
Database Drivers
11
Web Servers
11
Machine Learning
11
PDF
11
Package Management
11
Error Handling
11
Caching
11
Form Builder
11
Admin Interface
10
Authorization
10
Logging
10
Debugging Tools
10
Code Formatting
10
Type Signatures and Type Checking
10
HTML/XML Parsing
10
Developer Tooling
10
Git Tools
10
Coding Style Guides
10
Country Data
9
State Machines
9
Business logic
9
Image Processing
9
Scheduling
9
Data Processing and ETL
9
Services and Apps
8
Optimizations
8
Static Site Generation
8
Social Networking
8
Feature Flippers and A/B Testing
8
File Upload
8
Automation
7
Performance Monitoring
7
Data Visualization
7
Process Management and Monitoring
7
Game Development and Graphics
7
WebSocket
7
AI and LLMs
7
Mobile Development
7
Implementations/Compilers
7
RSS
7
Web Crawling
7
IRB
7
View helpers
7
GUI
6
View components
6
Template Engine
6
Markdown Processors
6
Encryption
6
Geolocation
6
Rails Application Generators
6
Analytics
6
Breadcrumbs
5
Cloud
5
Concurrency and Parallelism
5
Pagination
5
File System Listener
5
Captchas and anti-spam
5
GraphQL
5
Ebook
5
Decorators
4
Gem Generators
4
Boilerplates & UI Kits
4
Video
4
Spreadsheets and Documents
4
Notifications
4
Music and Sound
4
SEO
4
Serverless
4
Cryptocurrencies and Blockchains
4
Networking
4
Gem Servers
4
Robotics
3
Code Highlighting
3
Event Sourcing
3
Money
3
Processes
3
Dashboards
3
Diff
3
Measurements
2
CRM
2
QR
1
Presentation Programs
1
Code Loaders
1
Sub Categories
Keywords
ruby
375
rails
137
activerecord
36
ruby-on-rails
28
gem
25
ruby-gem
17
api
15
rspec
14
rack
14
testing
12
http
12
rubygems
11
security
11
redis
11
database
11
sinatra
10
rubyml
10
json
10
automation
9
rubocop
9
performance
9
postgresql
9
machine-learning
9
jruby
8
cli
8
authorization
8
authentication
8
scheduler
8
terminal
8
javascript
8
sql
7
markdown
7
rubygem
6
feature-flags
6
pdf
6
background-jobs
6
monitoring
6
static-analysis
6
sidekiq
6
error-monitoring
6
cucumber
6
dsl
6
elasticsearch
6
server
6
rails-engine
5
css
5
static-code-analysis
5
notifications
5
linter
5
analytics
5