awesome-ruby
💎 A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/markets/awesome-ruby
Last synced: 13 days ago
JSON representation
-
Notifications
- 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
-
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.
-
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.
-
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
-
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.
-
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.
- childprocess - Cross-platform ruby library for managing child processes.
-
Process Management and Monitoring
- Bluepill - Simple process monitoring tool.
- Eye - Process monitoring tool. Inspired from Bluepill and God.
- Foreman - Manage Procfile-based applications.
- God - An easy to configure, easy to extend monitoring framework written in Ruby.
- Health Monitor Rails - A mountable Rails plug-in to check health of services (Database, Cache, Sidekiq, Redis, e.t.c.) used by the Rails app.
- Procodile - Run processes in the background (and foreground) on Mac & Linux from a Procfile.
- RedisWebManager - Web interface that allows you to manage easily your Redis instance (see keys, memory used, connected client, etc...).
-
Profiler and Optimization
- batch-loader
- benchmark-ips - Provides iteration per second benchmarking for Ruby.
- bullet - Help to kill N+1 queries and unused eager loading.
- Peek - Visual status bar showing Rails performance.
- rack-mini-profiler - Profiler for your development and production Ruby rack apps.
- rbspy - Sampling profiler for any Ruby process.
- ruby-prof - A code profiler for MRI rubies.
- stackprof - A sampling call-stack profiler for ruby 2.1+.
- Derailed Benchmarks - A series of things you can use to benchmark any Rack based app.
- test-prof - Ruby Tests Profiling Toolbox
- Rbkit - profiler for Ruby. With a GUI.
-
QR
- RQRCode - RQRCode is a library for creating and rendering QR codes into various formats.
-
Queues and Messaging
- RocketJob - Enterprise Batch Processing System focused on performance, scalability, reliability, and visibility of every job in the system. Outgrown existing solutions? Or, start small and scale up later.
- Backburner - Backburner is a beanstalkd-powered job queue that can handle a very high volume of jobs.
- Bunny - Bunny is a popular, easy to use, well-maintained Ruby client for RabbitMQ (3.3+).
- Delayed::Job - Database backed asynchronous priority queue.
- GoodJob - GoodJob is a multithreaded, Postgres-based, ActiveJob backend for Ruby on Rails.
- Gush - A parallel runner for complex workflows using only Redis and Sidekiq.
- JobIteration - An ActiveJob extension to make long-running jobs interruptible and resumable.
- Karafka - Framework used to simplify Apache Kafka (a distributed streaming platform) based Ruby applications development.
- Lowkiq - Ordered processing of background jobs for cases where Sidekiq can't help.
- March Hare - Idiomatic, fast and well-maintained JRuby client for RabbitMQ.
- Resque - A Redis-backed Ruby library for creating background jobs.
- SidekiqIteration - A Sidekiq extension to make long-running jobs interruptible and resumable.
- Sneakers - A fast background processing framework for Ruby and RabbitMQ.
- Sucker Punch - A single process background processing library using Celluloid. Aimed to be Sidekiq's little brother.
- Shoryuken - A super efficient AWS SQS thread based message processor for Ruby.
- Que - A Ruby job queue that uses PostgreSQL's advisory locks for speed and reliability.
- RocketJob - Enterprise Batch Processing System focused on performance, scalability, reliability, and visibility of every job in the system. Outgrown existing solutions? Or, start small and scale up later.
- Sidekiq - A full-featured background processing framework for Ruby. It aims to be simple to integrate with any modern Rails application and much higher performance than other existing solutions.
-
Rails Application Generators
- Bootstrappers - Bootstrappers generates a base Rails app using Bootstrap template and other goodies.
- Hobo - The web app builder for Rails.
- orats - Opinionated rails application templates.
- Rails Composer - The Rails generator on steroids for starter apps.
- Raygun - Builds applications with the common customization stuff already done.
- Suspenders - Suspenders is the base Rails application used at thoughtbot.
-
Robotics
- Artoo - Next generation robotics framework with support for different platforms: Arduino, Leap Motion, Pebble, Raspberry Pi, etc.
- Arli - Arli is the CLI tool for searching, installing, and packaging Arduino libraries with a project using a YAML-based Arlifile. It's a "Bundler for Arduino Development".
- Artoo - Next generation robotics framework with support for different platforms: Arduino, Leap Motion, Pebble, Raspberry Pi, etc.
-
RSS
- Feed normalizer - Extensible Ruby wrapper for Atom and RSS parsers.
- Feedjira - A feed fetching and parsing library.
- Simple rss - A simple, flexible, extensible, and liberal RSS and Atom reader.
- Stringer - A self-hosted, anti-social RSS reader.
- feedparser - A feed parser and normalizer (Atom, RSS, JSON, etc) library.
-
Scheduling
- minicron - A system to manage and monitor cron jobs.
- que-scheduler - A lightweight cron scheduler for the async job worker Que.
- resque-scheduler - A light-weight job scheduling system built on top of Resque.
- rufus-scheduler - Job scheduler for Ruby (at, cron, in and every jobs).
- ruby-clock - A job scheduler which runs jobs each in their own thread in a persistent process.
- Sidekiq-Cron - A scheduling add-on for Sidekiq.
- Simple Scheduler - An enhancement for Heroku Scheduler + Sidekiq for scheduling jobs at specific times with a readable YML file.
- Whenever - A Ruby gem that provides a clear syntax for writing and deploying cron jobs.
-
Scientific
- Red Data Tools - Data processing tools for Ruby.
- PyCall - Calling Python functions from the Ruby language.
- ruby-opencv - An OpenCV wrapper for Ruby.
- classifier-reborn - An active fork of Classifier, and general module to allow Bayesian and other types of classifications.
- Daru::View - A library for easy and interactive plotting on Jupyter Notebooks and web applications.
- Rgl - A framework for graph data structures and algorithms.
- NMatrix - Fast numerical linear algebra library for Ruby.
- Numo::NArray - N-dimensional Numerical Array for Ruby.
- mdarray - Multi dimensional array implemented for JRuby inspired by NumPy.
- SciRuby - Tools for scientific computation in Ruby/Rails.
- IRuby - A Ruby kernel for Jupyter.
- statsample - A suite for basic and advanced statistics on Ruby.
- statsample-timeseries - Bioruby Statsample TimeSeries.
- statsample-glm - Generalized Linear Models extension for Statsample.
- distribution - Statistical Distributions multi library wrapper.
- minimization - Minimization algorithms on pure Ruby.
- BioRuby - Library for developing bioinformatics software.
- bloomfilter-rb - BloomFilter(s) in Ruby: Native counting filter + Redis counting/non-counting filters.
- decisiontree - A ruby library which implements ID3 (information gain) algorithm for decision tree learning.
- algorithms - Library with documentation on when to use a particular structure/algorithm.
- jaro_winkler - Ruby & C implementation of Jaro-Winkler distance algorithm which supports UTF-8 string.
- primes-utils - A Rubygem which provides a suite of extremely fast utility methods for testing and generating primes.
- Roots - A Rubygem which provides utilities to find all the nth roots of real and complex values.
-
Search
- chewy - High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client.
- elasticsearch-ruby - Ruby integrations for Elasticsearch.
- elastics - Simple ElasticSearch client with support for migrations and ActiveRecord integration.
- has_scope - Has scope allows you to easily create controller filters based on your resources named scopes.
- pg_search - Builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search.
- Rroonga - The Ruby bindings of Groonga.
- scoped_search - Adds a scope supporting search queries and autocompletion against existing fields on ActiveRecord models and associations.
- SearchCop - Extends your ActiveRecord models to support fulltext search engine like queries via simple query strings and hash-based queries.
- Searchkick - Searchkick learns what your users are looking for. As more people search, it gets smarter and the results get better. It’s friendly for developers - and magical for your users.
- Sunspot - A Ruby library for expressive, powerful interaction with the Solr search engine.
- textacular - Exposes full text search capabilities from PostgreSQL, and allows you to declare full text indexes. Textacular extends ActiveRecord with named_scope methods making searching easy and fun!
- Thinking Sphinx - A library for connecting ActiveRecord to the Sphinx full-text search tool.
- typesense-ruby - Ruby client for Typesense, a fast, typo-tolerant search engine.
- Mongoid Search - Simple full text search implementation for Mongoid.
- ransack - Object-based searching.
-
Security
- BeEF - BeEF is short for The Browser Exploitation Framework. It is a penetration testing tool that focuses on the web browser.
- Rack::Protection - Rack middleware for protecting against typical Web attacks.
- bundler-audit - Patch-level security verification for Bundler.
- Fingerprinter - CMS/LMS/Library etc versions fingerprinter.
- haiti - Hash type identifier (CLI & lib).
- Metasploit - World's most used penetration testing software.
- Pipal - Password analyser and statistics generator
- Rack::Attack - Rack middleware for blocking & throttling abusive requests.
- Ronin - A Ruby platform for vulnerability research and exploit development.
Programming Languages
Categories
Testing
49
ORM/ODM Extensions
42
Third-party APIs
31
API Builder and Discovery
24
Scientific
23
Database Tools
20
CMS
20
Date and Time Processing
18
DevOps Tools
18
Queues and Messaging
18
Web Frameworks
17
HTTP Clients and tools
17
Code Analysis and Metrics
17
Email
16
Core Extensions
16
Documentation
15
CLI Builder
15
Search
15
CLI Utilities
14
Discover
14
Authentication and OAuth
13
Security
13
Natural Language Processing
12
ORM/ODM
12
Machine Learning
12
Assets
12
E-Commerce and Payments
11
Database Drivers
11
Profiler and Optimization
11
Configuration
11
Web Servers
10
Internationalization
10
PDF
10
Error Handling
10
Caching
10
Logging
10
Package Management
10
Admin Interface
9
Git Tools
9
Image Processing
8
Authorization
8
Environment Management
8
Data Processing and ETL
8
HTML/XML Parsing
8
Social Networking
8
Business logic
8
Scheduling
8
State Machines
8
Static Site Generation
8
Process Management and Monitoring
7
Mobile Development
7
Code Formatting
7
Form Builder
7
Country Data
7
Debugging Tools
7
IRB
7
File Upload
7
Web Crawling
7
Services and Apps
7
Data Visualization
7
GUI
6
Optimizations
6
Analytics
6
Coding Style Guides
6
Feature Flippers and A/B Testing
6
Geolocation
6
View helpers
6
Implementations/Compilers
6
Markdown Processors
6
Template Engine
6
Rails Application Generators
6
RSS
5
WebSocket
5
Concurrency and Parallelism
5
Captchas and anti-spam
5
Pagination
5
Game Development and Graphics
5
Automation
5
Performance Monitoring
5
File System Listener
5
Encryption
4
Gem Generators
4
Breadcrumbs
4
Cloud
4
Boilerplates & UI Kits
4
View components
4
Spreadsheets and Documents
4
Ebook
4
GraphQL
4
Decorators
4
Notifications
4
SEO
4
Gem Servers
4
Video
3
Networking
3
Dashboards
3
Cryptocurrencies and Blockchains
3
Music and Sound
3
Serverless
3
Robotics
3
Diff
3
Money
3
CRM
2
Processes
2
Event Sourcing
2
Measurements
2
Code Loaders
1
Code Highlighting
1
Presentation Programs
1
QR
1
Sub Categories
Keywords
ruby
299
rails
114
activerecord
32
gem
20
ruby-on-rails
20
api
14
ruby-gem
12
http
11
rubygems
11
rack
11
redis
10
rspec
10
database
10
security
9
postgresql
9
rubyml
9
sinatra
9
machine-learning
9
testing
9
performance
8
automation
8
jruby
8
scheduler
7
json
7
cli
7
authentication
7
terminal
7
dsl
6
error-monitoring
6
authorization
6
sql
6
elasticsearch
6
server
6
rubygem
6
sidekiq
5
search
5
background-jobs
5
parser
5
web
5
analytics
5
c
5
javascript
5
rails-engine
5
markdown
5
security-tools
5
static-analysis
5
graphql
5
pdf
5
hanami
4
testing-tools
4