awesome-ruby
π A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/markets/awesome-ruby
Last synced: 3 days ago
JSON representation
-
Processes
- childprocess - Cross-platform ruby library for managing child processes.
- 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.
- Derailed Benchmarks - A series of things you can use to benchmark any Rack based app.
- Rbkit - profiler for Ruby. With a GUI.
- test-prof - Ruby Tests Profiling Toolbox
-
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.
- 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.
- Shoryuken - A super efficient AWS SQS thread based message processor for Ruby.
- 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.
- feedparser - A feed parser and normalizer (Atom, RSS, JSON, etc) library.
- Stringer - A self-hosted, anti-social RSS reader.
-
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.
- Sidekiq-Cron - A scheduling add-on for Sidekiq.
-
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.
- PyCall - Calling Python functions from the Ruby language.
- daru - A library for storage, analysis, manipulation and visualization of data in pure Ruby.
-
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.
- Mongoid Search - Simple full text search implementation for Mongoid.
-
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.
- WhatWeb - Website Fingerprinter.
- Rack::Protection - Rack middleware for protecting against typical Web attacks.
- SecureHeaders - Automatically apply several headers that are related to security, including: Content Security Policy (CSP), HTTP Strict Transport Security (HSTS), X-Frame-Options (XFO), X-XSS-Protection, X-Content-Type-Options, X-Download-Options & X-Permitted-Cross-Domain-Policies.
- BeEF - BeEF is short for The Browser Exploitation Framework. It is a penetration testing tool that focuses on the web browser.
- Rack::Attack - Rack middleware for blocking & throttling abusive requests.
- SecureHeaders - Automatically apply several headers that are related to security, including: Content Security Policy (CSP), HTTP Strict Transport Security (HSTS), X-Frame-Options (XFO), X-XSS-Protection, X-Content-Type-Options, X-Download-Options & X-Permitted-Cross-Domain-Policies.
- WPscan - WordPress vulnerability scanner.
-
SEO
- FriendlyId - The "Swiss Army bulldozer" of slugging and permalink plugins for Active Record.
- MetaTags - A gem to make your Rails application SEO-friendly.
- prerender_rails - Rails middleware gem for prerendering javascript-rendered pages on the fly for SEO.
- SitemapGenerator - A framework-agnostic XML Sitemap generator written in Ruby.
-
Serverless
- FaaStRuby - Serverless Software Development Platform for Ruby and Crystal developers.
- π Lamby - Simple Rails & AWS Lambda Integration using Rack
- Jets - A Ruby Serverless Framework to create and deploy serverless microservices with ease, and to seamlessly glue AWS services.
- Jets - A Ruby Serverless Framework to create and deploy serverless microservices with ease, and to seamlessly glue AWS services.
-
Services and Apps
- AppSignal - Better monitoring for your Rails applications.
- GitHub - Powerful collaboration, code review, and code management for open source and private projects.
- Inch CI - Documentation badges for Ruby projects.
- Sider - Automated Code Review with GitHub PR. Monitoring Style Violations, Quality, Security, Dependencies.
- CodeClimate - Quality & security analysis for Ruby on Rails and Javascript.
- OctoLinker - Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension.
- GitHub - Powerful collaboration, code review, and code management for open source and private projects.
- OctoLinker - Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension.
-
Social Networking
- Decidim - free open-source participatory democracy for cities and organizations
- diaspora* - A privacy aware, distributed, open source social network.
- Discourse - A platform for community discussion. Free, open, simple.
- Mailboxer - A private message system for Rails applications.
- Mastodon - A GNU Social-compatible microblogging server.
- Retrospring - A social network following the Q/A (question and answer) principle.
- Social Shares - A gem to check how many times url was shared in social networks.
- Thredded - Rails 4.2+ forums/messageboards engine. Its goal is to be as simple and feature rich as possible.
-
Spreadsheets and Documents
- CAXLSX - A community maintained excel xlsx generation library. [AXLSX](https://github.com/randym/axlsx) - The original.
- Docsplit - Gem to convert Microsoft Word (and other) documents into images, pdf, pages or text.
- Roo - Implements read access for all spreadsheet types and read/write access for Google spreadsheets.
- spreadsheet_architect - Spreadsheet Architect is a library that allows you to create XLSX, ODS, or CSV spreadsheets super easily from ActiveRecord relations, plain Ruby objects, or tabular data.
-
State Machines
- AASM - State machines for Ruby classes (plain Ruby, Rails Active Record, Mongoid).
- MicroMachine - A minimal finite state machine implementation in less than 50 lines of code.
- simple_states - A super-slim statemachine-like support library.
- Statesman - A statesmanlike state machine library.
- state_machines - Adds support for creating state machines for attributes on any Ruby class.
- transitions - A ruby state machine implementation.
- Workflow - A finite-state-machine-inspired API for modeling and interacting with what we tend to refer to as 'workflow'.
- FiniteMachine - A plain Ruby state machine with a straightforward and expressive syntax.
- FiniteMachine - A plain Ruby state machine with a straightforward and expressive syntax.
-
Static Site Generation
- Middleman - A static site generator using all the shortcuts and tools in modern web development.
- Nanoc - A static site generator, fit for building anything from a small personal blog to a large corporate web site.
- webgen - webgen is a fast, powerful and extensible static website generator.
- Bridgetown - A Webpack-aware, Ruby-powered static site generator for the modern Jamstack era.
- High Voltage - Easily include static pages in your Rails app.
- Awesome Jekyll - A collection of awesome Jekyll tools, plugins, themes, guides and much more.
- Photish - Generate a highly configurable static website from a photo collection.
- webgen - webgen is a fast, powerful and extensible static website generator.
-
Template Engine
- Curly - A template language that completely separates structure and logic.
- Haml - HTML Abstraction Markup Language.
- Liquid - Safe, customer facing template language for flexible web apps.
- Mustache - Logic-less Ruby templates.
- Slim - A template language whose goal is reduce the syntax to the essential parts without becoming cryptic.
- Tilt - Generic interface to multiple Ruby template engines.
-
Testing
- Test::Unit - Test::Unit is a xUnit family unit testing framework for Ruby.
- Fabrication - A simple and powerful object generation library.
- Selenium WebDriver - Ruby bindings for WebDriver.
- RSpec - Behaviour Driven Development for Ruby.
- Emoji-RSpec - Custom Emoji Formatters for RSpec.
- Fuubar - The instafailing RSpec progress bar formatter.
- Nyan Cat - Nyan Cat inspired RSpec formatter!
- Aruba - Testing command line applications with cucumber and rspec.
- Capybara - Acceptance test framework for web applications.
- Cutest - Isolated tests in Ruby.
- Fix - Specing framework for Ruby.
- Howitzer - Ruby based framework for acceptance testing
- Mocha - Mocha is a mocking and stubbing library for Ruby.
- RR - A test double framework that features a rich selection of double techniques and a terse syntax.
- shoulda-matchers - Provides Test::Unit- and RSpec-compatible one-liners that test common Rails functionality. These tests would otherwise be much longer, more complex, and error-prone.
- Spinach - Spinach is a high-level BDD framework that leverages the expressive Gherkin language (used by Cucumber) to help you define executable specifications of your application or library's acceptance criteria.
- TestBench - TestBench is a principled test framework for Ruby and MRuby aiming to offer precisely what is needed to test well-designed code effectively and easily.
- factory_bot - A library for setting up Ruby objects as test data.
- Fake Person - Uses some of the most popular given & surnames in the US & UK.
- ffaker - A faster Faker, generates dummy data, rewrite of faker.
- Forgery - Easy and customizable generation of forged data.
- ActiveMocker - Generate mocks from ActiveRecord models for unit tests that run fast because they donβt need to load Rails or a database.
- DnsMock - Ruby DNS mock. Mimic any DNS records for your test environment and even more.
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