An open API service indexing awesome lists of open source software.

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

  • Environment Management

    • Tokaido - Ruby, Rails, SQLite and Redis encapsulated in a single drag-and-drop OS X app, designed to make installing a working RoR environment easy for beginners.
    • chruby - Change your current Ruby. No shims, no crazy options or features, ~90 LOC.
    • fry - Simple ruby version manager for fish.
    • gem_home - A tool for changing your $GEM_HOME.
    • ruby-install - Installs Ruby, JRuby, Rubinius, MagLev or MRuby.
    • Uru - Uru is a lightweight, multi-platform command line tool that helps you use the multiple rubies on your 32/64-bit Linux, OS X, or Windows systems.
    • rbenv - Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production.
    • ruby-build - Compile and install Ruby.
  • Error Handling

    • Honeybadger - Exception, uptime, and performance monitoring for Ruby.
    • Airbrake - The official Airbrake library for Ruby on Rails (and other Rack based frameworks).
    • Bugsnag - Error monitoring for Rails, Sinatra, Rack, and plain Ruby apps.
    • Errbit - The open source, self-hosted error catcher.
    • Exception Handler - Custom error pages.
    • Exception Notification - A set of notifiers for sending notifications when errors occur in a Rack/Rails application.
    • Nesty - Nested exceptions for Ruby.
    • Sentry Ruby - The Ruby client for Sentry.
    • Rollbar - Easy and powerful exception and error tracking for your applications.
    • Better Errors - Better error page for Rack apps.
  • Event Sourcing

    • Eventide Project - Pub/sub, event sourcing, and evented autonomous services backed by the [Message DB](https://github.com/message-db/message-db) message store.
    • Rails Event Store (RES) - A library for publishing, consuming, storing and retrieving events. It's your best companion for going with an event-driven architecture for your Rails application.
  • Feature Flippers and A/B Testing

    • Motorhead - A Rails Engine framework that helps safe and rapid feature prototyping.
    • flipper - Feature flipping for ANYTHING. Make turning features on/off so easy that everyone does it. Whatever your data store, throughput, or experience.
    • Rollout - Feature flippers.
    • Split - Rack Based AB testing framework.
    • Unleash - Ruby client for Unleash, a powerful feature toggle system that gives you a great overview over all feature toggles across all your applications and services.
    • Vanity - an A/B testing framework for Rails that is datastore agnostic.
  • File System Listener

    • Retest - A simple CLI to watch file changes and run their matching Ruby specs. Works on any ruby projects with no setup.
    • Guard - A command line tool to easily handle events on file system modifications.
    • Guard::LiveReload - Automatically reload your browser when 'view' files are modified.
    • Listen - The Listen gem listens to file modifications and notifies you about the changes.
    • Rerun - Restarts an app when the filesystem changes. Uses growl and FSEventStream if on OS X.
  • File Upload

    • attache - Standalone image and file server to decouple your app from file management concerns.
    • CarrierWave - Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks.
    • DragonFly - A Ruby gem for on-the-fly processing - suitable for image uploading in Rails, Sinatra and much more!.
    • PaperClip - Easy file attachment management for ActiveRecord. Deprecated as of May 14, 2018.
    • rack-secure-upload - Upload files securely.
    • Refile - A modern file upload library for Ruby applications, Refile is an attempt by CarrierWave's original author to fix the design mistakes and overengineering in CarrierWave.
    • Shrine - Toolkit for handling file uploads in Ruby.
  • Form Builder

    • Cocoon - Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms.
    • ComfyBootstrapForm - Rails form builder that makes it easy to create forms with Bootstrap 4 markup
    • 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 and Graphics

    • Dragon Ruby - DragonRuby is a zero dependency, cross platform, Ruby runtime built on top of mRuby, libSDL, and LLVM. Write Ruby on any OS and deploy to PC, Mac, Linux, iOS, Android, Raspberry Pi, WASM, Nintendo Switch, Sony Playstation, and Microsoft Xbox.
    • Gosu - A 2D game development library for the Ruby and C++ programming languages.
    • Ruby 2D - Create cross-platform 2D applications, games, and visualizations with ease.
    • Taylor - Taylor is a game engine built using mruby and raylib.
    • Mittsu - Mittsu makes 3D graphics easier by providing an abstraction over OpenGL, and is based heavily off of THREE.js.
  • Gem Generators

    • Hoe - Hoe is a Rake/RubyGems helper for project Rakefiles.
    • Gemsmith - A command line interface for smithing new Ruby gems.
    • Hoe - Hoe is a Rake/RubyGems helper for project Rakefiles.
    • Hoe - Hoe is a Rake/RubyGems helper for project Rakefiles.
  • Gem Servers

    • Gemfast - A drop in replacement for geminabox written in Go.
    • Gem in a box - Really simple rubygem hosting.
    • Gemirro - Gem to automatically make a rubygems mirror.
    • Gemstash - A RubyGems.org cache and private gem server.
  • 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.
    • IP2Location.io - A Ruby SDK allows user to query for an enriched data set based on IP address and provides WHOIS lookup api that helps users to obtain domain information.
    • rgeo - Geospatial data library. Spatial data types, geometric and spherical calculations, and WKT/WKB serialization.
  • Git Tools

    • Git Lint - Analyzes Git commits for consistent quality.
    • ginatra - A web frontend for Git repositories.
    • git-auto-bisect - Find the commit that broke master.
    • git_curate - Peruse and delete git branches ergonomically.
    • git_reflow - An automated quality control workflow for Agile teams.
    • git-spelunk - Dig through git blame history.
    • git-whence - Find which merge a commit came from.
    • Rugged - Ruby bindings to libgit2.
    • Overcommit - A fully configurable and extendable Git hook manager.
  • GraphQL

  • GUI

    • Shoes - Shoes makes building little graphical programs for Mac, Windows, and Linux super simple.
    • FXRuby - A Ruby library that provides an interface to the FOX GUI toolkit.
    • Glimmer - Ruby DSL for SWT
    • qtbindings - Allows the QT Gui toolkit to be used from Ruby.
    • Ruby-GNOME - Ruby language bindings for the GNOME development environment.
    • Shoes - Shoes makes building little graphical programs for Mac, Windows, and Linux super simple.
  • HTML/XML Parsing

    • Nokogiri - An HTML, XML, SAX, and Reader parser with XPath and CSS selector support.
    • Nokolexbor - High-performance HTML5 parser based on Lexbor, with support for both CSS selectors and XPath.
    • 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.
    • Nokogiri - An HTML, XML, SAX, and Reader parser with XPath and CSS selector support.
  • HTTP Clients and tools

    • HTTPX - Pure ruby HTTP client, supports HTTP/2 and HTTP/1, concurrent requests, plugin system for extended features (cookies, retries, following redirects, proxy, streaming...).
    • Accept Language - A tiny library for parsing the `Accept-Language` header from browsers (as defined in [RFC 2616](https://datatracker.ietf.org/doc/html/rfc2616#section-14.4)).
    • 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.
    • Rack::Cors - Cross-Origin Resource Sharing (CORS) middleware for Rack applications.
    • HTTPX - Pure ruby HTTP client, supports HTTP/2 and HTTP/1, concurrent requests, plugin system for extended features (cookies, retries, following redirects, proxy, streaming...).
  • Image Processing

    • FastImage - FastImage finds the size or type of an image given its uri by fetching as little as needed.
    • ImageProcessing - High-level image processing wrapper for libvips and ImageMagick/GraphicsMagick
    • 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.
    • 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.
    • 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.
  • 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.
  • 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.
    • langchain.rb - Library for building LLM-powered applications in Ruby.
    • 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).
    • ruby-openai - OpenAI API + Ruby!
    • 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.
  • 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.
  • 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.
  • 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.
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