stdgems

Ruby Standard Gems

About Ruby's Gemified Standard Library

Large portions of Ruby's standard library come in the form of RubyGems, which can be updated independently from Ruby.

There are two different kinds of standard gems:

There are a few libraries that will stay non-gem default libraries, because they are very dependent on the specific Ruby version.

Standard Gems Version Data

Every Ruby version ships a specific set of default gems, default libraries, and bundled gems. The following tables show all standard libraries included in the current Ruby version 3.1.0. The data is also available as JSON:

Default Gems in Ruby 3.1.0

Default Gem 3.1.0 3.0.3 Description Resources
abbrev 0.1.0 0.1.0 Finds the shortest unique abbreviation amongst many strings RubyGems · GitHub · RDoc · CRuby
base64 0.1.1 0.1.0 Encodes and decodes strings to a Base64 representation. Implemented as a small wrapper around String#unpack RubyGems · GitHub · RDoc · CRuby
benchmark 0.2.0 0.1.1 Benchmark utility: Measures and reports the time used to execute code RubyGems · GitHub · RDoc · CRuby
bigdecimal c 3.1.1 3.0.0 Support for arbitrary-precision floating point decimal arithmetic RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2) · JRuby (3)
bundler 2.3.3 2.2.32 Bundler is the local package manager for Ruby applications RubyGems · GitHub · RDoc · CRuby
cgi c 0.3.1 0.2.1 Support for CGI (Common Gateway Interface) RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2) · CRuby (3) · JRuby (1)
csv 3.2.2 3.1.9 Support for CSV (Comma-separated Values) RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2)
date c 3.2.2 3.1.3 The Date and DateTime classes RubyGems · GitHub · RDoc (1) · RDoc (2) · CRuby · JRuby (1) · JRuby (2) · JRuby (3)
delegate 0.2.0 0.2.0 Provides three ways to delegate method calls RubyGems · GitHub · RDoc · CRuby
did_you_mean 1.6.1 1.5.0 Patches error messages to suggest correct spelling of methods/classes/variables RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2)
digest c 3.1.0 3.0.0 Provides common hash functions like MD5, SHA1, SHA2, or RIPEMD-160 RubyGems · GitHub · RDoc · CRuby · JRuby (1)
drb 2.1.0 2.0.5 Distributed object system for Ruby RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2)
english 0.7.1 0.7.1 Readable aliases for special global variables RubyGems · GitHub · RDoc · CRuby · JRuby
erb 2.2.3 2.2.0 Templating engine for Ruby RubyGems · GitHub · RDoc · CRuby
error_highlight 0.3.0 - Improves error messages with additional debug info RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2)
etc c 1.3.0 1.3.0 Access UNIX info from /etc RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
fcntl c 1.0.1 1.0.1 Loads values from the OS' fcntl.h to be used for low-level file descriptor manipulation system calls with IO#fcntl and IO.sysopen RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
fiddle c 1.1.0 1.0.8 Support for FFI (Foreign Function Interface) RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
fileutils 1.6.0 1.5.0 Utilities for working with the file system, such as copying, moving, or deleting files RubyGems · GitHub · RDoc · CRuby · JRuby (1)
find 0.1.1 0.1.0 Finds all files in a given directory and its sub-directories RubyGems · GitHub · RDoc · CRuby
forwardable 1.3.2 1.3.2 Provides a way to delegate method calls. Also see this overview of delegation in Ruby, which contains an example RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2) · CRuby (3)
getoptlong 0.1.1 0.1.1 GNU getopt_long() style command-line option parsing RubyGems · GitHub · RDoc · CRuby
io-console c 0.5.10 0.5.7 Patches IO for simple and portable access to the console RubyGems · GitHub · RDoc · CRuby
io-nonblock c 0.1.0 0.1.0 Allows to work with IO streams in a non-blocking way RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
io-wait c 0.2.1 0.2.0 Adds methods to wait until an IO stream becomes readable or writable RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
ipaddr 1.2.3 1.2.2 IP address manipulation (IPv4 and IPv6) RubyGems · GitHub · RDoc · CRuby
irb 1.4.1 1.3.5 Interactive Ruby Console (REPL) RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2)
json c 2.6.1 2.5.1 Support for JSON (JavaScript Object Notation) RubyGems · GitHub · RDoc · CRuby
logger 1.5.0 1.4.3 Logging utility RubyGems · GitHub · RDoc · CRuby
mutex_m 0.1.1 0.1.1 A mixin that makes any object behave like a mutex RubyGems · GitHub · RDoc · CRuby
net-http 0.2.0 0.1.1 Support for HTTP (Hypertext Transfer Protocol) RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2) · CRuby (3) · JRuby (1) · JRuby (2) · JRuby (3)
net-protocol 0.1.2 0.1.1 Internal class for the other net-* libraries RubyGems · GitHub · RDoc · CRuby · JRuby
nkf c 0.1.1 0.1.0 Kanji encoding converter. Can also be used via the Kconv.kconv method. RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
observer 0.1.1 0.1.1 Implementation of the observer pattern, a way to let interested other objects know o an objetc's updates RubyGems · GitHub · RDoc · CRuby
open3 0.1.1 0.1.1 Simple spawning of child processes RubyGems · GitHub · RDoc · CRuby · JRuby
openssl c 3.0.0 2.2.1 Wraps OpenSSL for cryptographic functionality RubyGems · GitHub · RDoc · CRuby
open-uri 0.2.0 0.1.0 Monkeypatches Kernel#open to support remote endpoints via net/http and net/ftp RubyGems · GitHub · RDoc · CRuby
optparse 0.2.0 0.1.1 Command-line option parser RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2) · CRuby (3)
ostruct 0.5.2 0.3.1 Wrapper around Hash which lets you read and set attributes with a method-based API RubyGems · GitHub · RDoc · CRuby
pathname c 0.2.0 0.1.0 Wraps File, FileTest, Dir, and FileUtils to ease working with file system paths RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
pp 0.3.0 0.2.1 The pp print debugging helper via require 'pp'. It will format the result object in more readable way. RubyGems · GitHub · RDoc · CRuby · JRuby
prettyprint 0.1.1 0.1.0 Better object formatting and inspection. Also see the pp gem. RubyGems · GitHub · RDoc · CRuby
pstore 0.1.1 0.1.1 Transactional file storage for Ruby objects RubyGems · GitHub · RDoc · CRuby
psych c 4.0.3 3.3.2 Support for YAML (YAML Ain't Markup Language) RubyGems · GitHub · RDoc · CRuby
racc c 1.6.0 1.5.2 Bindings for Racc, a YACC-like LALR(1) parser generator RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2)
rdoc 6.4.0 6.3.3 Ruby documentation generator RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2)
readline 0.0.3 0.0.2 If available, readline-ext will be loaded, or (Ruby-only) reline will be used. RubyGems · GitHub · RDoc · CRuby
readline-ext c 0.1.4 0.1.1 Interface to GNU Readline and NetBSD Editline RubyGems · GitHub · RDoc · CRuby
reline 0.3.0 0.2.5 Ruby-only implementation of GNU Readline / NetBSD Editline RubyGems · GitHub · RDoc · CRuby
resolv 0.2.1 0.2.1 Thread-aware DNS resolver RubyGems · GitHub · RDoc · CRuby (1) · JRuby
resolv-replace 0.1.0 0.1.0 Will replace Socket's DNS with resolv RubyGems · GitHub · RDoc · CRuby (1)
rinda 0.1.1 0.1.1 Support fot the Linda distributed computing paradigm in drb RubyGems · GitHub · RDoc · CRuby
ruby2_keywords 0.0.5 - A shim gemspec to indicate that the Ruby implementation includes the ruby2_keywords method RubyGems · GitHub · RDoc
rubygems 3.3.3 3.2.32 RubyGems allows you to download, install, and use Ruby software packages on your system RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2) · JRuby (1)
securerandom 0.1.1 0.1.0 Provides crpytographical randomness from openssl or the OS RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
set 1.0.2 1.0.1 Data structure for unordered collections without duplicates. Implemented on top of Hash. Also comes with SortedSet for ordered collections. RubyGems · GitHub · RDoc (1) · RDoc (2) · CRuby · JRuby (1) · JRuby (2)
shellwords 0.1.0 0.1.0 Escape and manipulate commads to be run in the shell RubyGems · GitHub · RDoc · CRuby
singleton 0.1.1 0.1.1 Mixin for Ruby classes that should only have one instance RubyGems · GitHub · RDoc · CRuby
stringio c 3.0.1 3.0.1 Makes strings behave like IO objects RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
strscan c 3.0.1 3.0.1 Lexical string scanning RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
syslog c 0.1.0 0.1.0 Interface to the low-level syslog logger RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2) · JRuby (3)
tempfile 0.1.2 0.1.1 Simplifies OS independent creation of temporary files RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
time 0.2.0 0.1.0 Adds more methods to Time RubyGems · GitHub · RDoc · CRuby
timeout 0.2.0 0.1.1 Auto-terminates code blocks after the time limit is reached RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)
tmpdir 0.1.2 0.1.2 Adds a Dir.mktmpdir method for creating temporary directories OS independently RubyGems · GitHub · RDoc · CRuby · JRuby
tsort 0.1.0 0.1.0 Topological sorting using Tarjan’s algorithm, which finds strongly connected components in graphs RubyGems · GitHub · RDoc · CRuby
un 0.2.0 0.1.0 Utilities to replace common UNIX commands RubyGems · GitHub · RDoc · CRuby
uri 0.11.0 0.10.0 URI/URL manipulation RubyGems · GitHub · RDoc · CRuby (1) · CRuby (2) · JRuby (1) · JRuby (2)
weakref 0.1.1 0.1.1 Explicitly allow objects to be garbage collected RubyGems · GitHub · RDoc · CRuby · JRuby
win32ole c 1.8.8 1.8.8 Windows OLE automation interface RubyGems · GitHub · RDoc · CRuby · JRuby
yaml 0.2.0 0.1.1 require 'yaml' will load the psych default gem, yaml/dbm is a wrapper around DBM using YAML serialization, and yaml/store lets you use pstore with YAML RubyGems · GitHub · RDoc (1) · RDoc (2) · RDoc (3) · CRuby (1) · CRuby (2) · CRuby (3) · JRuby (1) · JRuby (2)
zlib c 2.1.1 2.0.0 Interface to the zlib compression library RubyGems · GitHub · RDoc · CRuby · JRuby (1) · JRuby (2)

Bundled Gems in Ruby 3.1.0

Bundled Gem 3.1.0 3.0.3 Description Resources
debug c 1.4.0 - Command-line debugger RubyGems · GitHub · RDoc
matrix 0.4.2 - Support for matrices RubyGems · GitHub · RDoc
minitest 5.15.0 5.14.2 Test/spec framework, comes with mocking and benchmark capabilities RubyGems · GitHub · RDoc
net-ftp 0.1.3 - Support for FTP (File Transfer Protocol) RubyGems · GitHub · RDoc
net-imap 0.2.2 - Support for IMAP (Internet Message Access Protocol) RubyGems · GitHub · RDoc
net-pop 0.1.1 - Support for POP3 (Post Office Protocol) RubyGems · GitHub · RDoc
net-smtp 0.3.1 - Support for SMTP (Simple Mail Transfer Protocol) RubyGems · GitHub · RDoc
prime 0.1.2 - Access to prime numbers and prime factorization RubyGems · GitHub · RDoc
power_assert 2.0.1 1.2.0 Debug tool that displays intermediate results of a method chain RubyGems · GitHub · RDoc
rake 13.0.6 13.0.3 A Ruby task runner, inspired by make RubyGems · GitHub · RDoc
rbs 2.0.0 1.4.0 Released with Ruby 3.0, RBS is a way to declare types in Ruby. The gem allows parsing and processing type definitions written in RBS. RubyGems · GitHub · RDoc
rexml 3.2.5 3.2.5 Support for XML (Extensible Markup Language) RubyGems · GitHub · RDoc
rss 0.2.9 0.2.9 Support for RSS (Rich Site Summary) and Atom RubyGems · GitHub · RDoc
test-unit 3.5.3 3.3.8 A xUnit family unit testing framework (compatibility layer for minitest) RubyGems · GitHub · RDoc
typeprof 0.21.1 0.15.2 Released with Ruby 3.0, typeprof allows you to automatically generate RBS type annotations RubyGems · GitHub · RDoc

Default Libraries

Default Library Description Resources
continuation c Adds the goto-like Kernel#callcc RDoc · CRuby · JRuby
coverage c Measures code coverage RDoc · CRuby · JRuby (1) · JRuby (2)
mkmf Generates Makefiles for native C extensions RDoc · CRuby
monitor c Monitors for multi-threaded code RDoc · CRuby · JRuby (1) · JRuby (2)
objspace c Adds more statistics methods to ObjectSpace. Since Ruby 3.1, it also includes the objspace/trace debug utility. RDoc · CRuby · JRuby
pty c Manages pseudo terminals. Also includes the IO#expect method via require 'expect', which can be used to wait for a specific pattern to be read. RDoc · CRuby · JRuby (1) · JRuby (2)
rbconfig c RbConfig is a Ruby constant that contains compile time information CRuby (1) · CRuby (2) · CRuby (3) · JRuby (1) · JRuby (2) · JRuby (3)
ripper c Ruby parser that creates a symbolic expression tree RDoc · CRuby · JRuby (1) · JRuby (2) · JRuby (3)
socket c Support for unix- and network sockets RDoc · CRuby · JRuby (1) · JRuby (2)
unicode_normalize Adds a String#unicode_normalize method which normalizes unicode strings RDoc · CRuby (1) · CRuby (2) · JRuby (1) · JRuby (2)
win32 c Let's you use Windows APIs, e.g. call functions in DLLs RDoc · CRuby · JRuby (1) · JRuby (2)

Gem Tables by Version

About stdgems.org

This page and the JSON data files it is based on are maintained on GitHub. Originally based on episode 20 of Idiosyncratic Ruby and put together by Jan Lelis.

Page Version: 3.3.0 (Change Log)

Data Protection

Fork me on GitHub