8.6 KiB
Awesome Ruby
A curated list of awesome Ruby frameworks, libraries and resources. Inspired by awesome-php & awesome-python.
- Awesome Ruby
- Environment Management
- Package Management
- Distribution
- Files
- Date and Time
- Text Processing
- Natural Language Processing
- Documentation
- Configuration
- Command-line Tools
- Imagery
- Audio
- Video
- Geolocation
- HTTP
- Database
- Database Drivers
- ORM
- Web Frameworks
- CMS
- RESTful API
- Authentication and OAuth
- Template Engine
- Queue
- Search
- Asset Management
- Caching
- Internationalization
- URL Manipulation
- HTML Manipulation
- Web Crawling
- Web Content Extracting
- Downloader
- Forms
- Data Validation
- Anti-spam
- Tagging
- Build Tools
- Admin Panels
- Processes and Threads
- Networking
- WebSocket
- Cryptography
- GUI
- Game Development
- Logging
- Testing
- Code Analysis and Linter
- Debugging Tools
- Science and Data Analysis
- Data Visualization
- Machine Learning
- Functional Programming
- MapReduce
- Third-party APIs
- DevOps Tools
- Foreign Function Interface
- High Performance
- Algorithms and Design Patterns
- Miscellaneous
- Editor Plugins
- Resources
Environment Management
Libraries for Ruby version and environment management.
Package Management
Libraries for package and dependency management.
- RubyGems - RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries
Distribution
Libraries to create packaged executables for release distribution.
Files
Libraries for file manipulation and MIME type detection.
Date and Time
Libraries for working with dates and times.
Text Processing
Libraries for parsing and manipulating texts.
-
General
-
Specific Formats
-
Parser
Natural Language Processing
Libraries for working with human languages.
Documentation
Libraries for generating project documentation.
Configuration
Libraries for storing configuration options.
Command-line Tools
Libraries for building command-line application.
-
Command-line Application Development
-
Workflow Tools
Imagery
Libraries for manipulating images.
Audio
Libraries for manipulating audio.
Video
Libraries for manipulating video and GIFs.
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
HTTP
Libraries for working with HTTP.
Database Drivers
Libraties for connecting and operating databases.
-
Relational Databases
-
NoSQL Databases
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques.
-
Relational Databases
-
NoSQL Databases
Web Frameworks
Web development frameworks.
- Ruby On Rails - Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity
- Sinatra - Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.
- Padrino - The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra
- Cramp - Cramp is a fully asynchronous real-time web application framework in Ruby
CMS
Content management systems
RESTful API
Libraries for developing RESTful APIs.
Authentication and OAuth
Libraries for implementing authentications schemes.
Template Engine
Libraries and tools for templating and lexing.
Queue
Libraries for working with event and task queues.
Search
Libraries and software for indexing and performing search queries on data.
Asset Management
Tools for managing, compressing and minifying website assets.
Caching
Libraries for caching data.
Libraries for sending and parsing email.
Internationalization
Libraries for woking with i18n.
URL Manipulation
Libraries for parsing URLs.
HTML Manipulation
Libraries for working with HTML and XML.
Web Crawling
Libraries for scraping websites.
Web Content Extracting
Libraries for extracting web contents.
Downloader
Libraries for downloading.
Forms
Libraries for working with forms.
Data Validation
Libraries for validating data. Used for forms in many cases.
Anti-spam
Libraries for fighting spam.
Tagging
Libraries for tagging items.
Build Tools
Compile software from source code.
Admin Panels
Libraries for administrative interfaces.
Processes and Threads
Libraries for woking with processes or threads
Networking
Libraries for network programming.
WebSocket
Libraries for woking with WebSocket.
Cryptography
GUI
Libraries for working with graphical user interface applications.
Game Development
Awesome game development libraries.
Logging
Libraries for generating and working with log files.
Testing
Libraries for testing codebases and generating test data.
-
Testing Frameworks
-
Mock
- RSpec-mocks - RSpec's 'test double' framework, with support for stubbing and mocking
- Mocha - Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
- FlexMock - Flexible mocking for Ruby testing
-
Fake Data
-
Code Coverage
-
Load Testing
-
Error Handler
Code Analysis and Linter
Libraries and tools for analysing, parsing and manipulation codebases.
Debugging Tools
Libraries for debugging and developing.
Science and Data Analysis
Libraries for scientific computing and data analyzing.
Data Visualization
Libraries for visualizing data.
Machine Learning
Libraries for Machine Learning.
Functional Programming
MapReduce
Framworks and libraries for MapReduce.
Third-party APIs
Libraries for accessing third party APIs.
DevOps Tools
Software and libraries for DevOps.
Foreign Function Interface
Libraries for providing foreign function interface.
High Performance
Libraries for making Ruby faster.
Algorithms and Design Patterns
Collections of algorithms and design patterns.
Miscellaneous
Useful libraries or tools that don't fit in the categories above.
Editor Plugins
Plugins for various editors.
Resources
Where to discover new Ruby libraries.
Websites
Weekly
Contributing
Your contributions are always welcome!