A summary of data about the Ruby ecosystem.

https://github.com/eventmachine/eventmachine

EventMachine: fast, simple event-processing library for Ruby programs
https://github.com/eventmachine/eventmachine

Keywords from Contributors

activerecord activejob mvc rack rubygems sinatra json-parser mongodb-driver rspec background-jobs

Last synced: about 22 hours ago
JSON representation

Repository metadata

EventMachine: fast, simple event-processing library for Ruby programs

README.md

About EventMachine Build Status Code Climate Maintainability

What is EventMachine

EventMachine is an event-driven I/O and lightweight concurrency library for Ruby.
It provides event-driven I/O using the Reactor pattern,
much like JBoss Netty, Apache MINA,
Python's Twisted, Node.js, libevent and libev.

EventMachine is designed to simultaneously meet two key needs:

  • Extremely high scalability, performance and stability for the most demanding production environments.
  • An API that eliminates the complexities of high-performance threaded network programming,
    allowing engineers to concentrate on their application logic.

This unique combination makes EventMachine a premier choice for designers of critical networked
applications, including Web servers and proxies, email and IM production systems, authentication/authorization
processors, and many more.

EventMachine has been around since the early 2000s and is a mature and battle-tested library.

What EventMachine is good for?

What platforms are supported by EventMachine?

EventMachine supports Ruby 2.0.0 and later (see tested versions at
.github/workflows/workflow.yml). It runs on JRuby and works well on Windows
as well as many operating systems from the Unix family (Linux, Mac OS X, BSD flavors).

Install the gem

Install it with RubyGems

gem install eventmachine

or add this to your Gemfile if you use Bundler:

gem 'eventmachine'

Getting started

For an introduction to EventMachine, check out:

Server example: Echo server

Here's a fully-functional echo server written with EventMachine:

 require 'eventmachine'

 module EchoServer
   def post_init
     puts "-- someone connected to the echo server!"
   end

   def receive_data data
     send_data ">>>you sent: #{data}"
     close_connection if data =~ /quit/i
   end

   def unbind
     puts "-- someone disconnected from the echo server!"
   end
end

# Note that this will block current thread.
EventMachine.run {
  EventMachine.start_server "127.0.0.1", 8081, EchoServer
}

EventMachine documentation

Currently we only have reference documentation and a wiki.

Community and where to get help

  • Join the mailing list (Google Group)
  • Join IRC channel #eventmachine on irc.freenode.net

License and copyright

EventMachine is copyrighted free software made available under the terms
of either the GPL or Ruby's License.

Copyright: (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.

Alternatives

If you are unhappy with EventMachine and want to use Ruby, check out Celluloid.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 1,192
Total Committers: 184
Avg Commits per committer: 6.478
Development Distribution Score (DDS): 0.701

Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Aman Gupta a****n@t****t 357
Aaron Stone a****n@s****x 200
raggi j****r@g****m 86
francis f****s@2****c 53
Jake Douglas j****s@g****m 53
MSP-Greg M****g 52
nick evans n****k@r****v 49
tom t****m@2****c 23
blackhedd b****d@2****c 22
raggi r****i@2****c 16
Ilya Grigorik i****a@i****m 8
Steven Parkes s****s@s****t 7
Sean Porter p****h@g****m 7
dj2 d****2@e****m 6
steve c****t@g****m 6
Ben Klang b****g@m****m 4
David Margery d****y@i****r 4
David Smalley d****d@d****m 4
Fabio Kung f****g@g****m 4
Holger Just h****r@p****m 4
Luis Lavena l****a@g****m 4
Michael S. Klishin m****l@n****m 4
Vít Ondruch v****h@t****z 4
Vishnu Gopal v****u@m****n 4
Patrick Reynolds p****s@g****m 3
steve s****e@s****) 3
u338_steven u****n@u****p 3
Ben Burkert b****n@b****m 3
David Suárez d****t@g****m 3
Diego Elio 'Flameeyes' Pettenò f****s@g****m 3
and 154 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 3 days ago

Total issues: 87
Total pull requests: 90
Average time to close issues: over 1 year
Average time to close pull requests: over 1 year
Total issue authors: 77
Total pull request authors: 26
Average comments per issue: 5.94
Average comments per pull request: 2.68
Merged pull request: 60
Bot issues: 0
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 0.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/eventmachine/eventmachine

Top Issue Authors

  • paradisaeidae (3)
  • marek22k (3)
  • voxik (2)
  • Bbulatov (2)
  • ioquatix (2)
  • MSP-Greg (2)
  • boutil (2)
  • StefanoMartin (2)
  • felicityfmn (1)
  • kevin-roe (1)
  • hackhowtofaq (1)
  • craigcarnell (1)
  • raulcraveiro (1)
  • SteveALee (1)
  • aledav (1)

Top Pull Request Authors

  • nevans (37)
  • MSP-Greg (16)
  • sodabrew (7)
  • bbozo (4)
  • marek22k (2)
  • rampion (2)
  • terceiro (2)
  • meineerde (2)
  • arthurdandrea (1)
  • ColinDKelley (1)
  • dmargery (1)
  • yb66 (1)
  • wordjelly (1)
  • olleolleolle (1)
  • mackuba (1)

Top Issue Labels

  • feature (1)
  • api (1)
  • 1.1 (1)
  • ssl (1)

Top Pull Request Labels

  • ssl (2)

Package metadata

gem.coop: eventmachine

EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required.

  • Homepage: https://github.com/eventmachine/eventmachine
  • Documentation: http://www.rubydoc.info/gems/eventmachine/
  • Licenses: Ruby,GPL-2.0
  • Latest release: 1.2.7 (published almost 8 years ago)
  • Last Synced: 2026-03-02T11:31:40.441Z (about 22 hours ago)
  • Versions: 124
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 310,827,409 Total
  • Docker Downloads: 805,765,608
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 0.047%
    • Downloads: 0.075%
    • Docker downloads count: 0.115%
  • Maintainers (10)
rubygems.org: eventmachine

EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required.

  • Homepage: https://github.com/eventmachine/eventmachine
  • Documentation: http://www.rubydoc.info/gems/eventmachine/
  • Licenses: Ruby,GPL-2.0
  • Latest release: 1.2.7 (published almost 8 years ago)
  • Last Synced: 2026-03-01T11:03:47.913Z (2 days ago)
  • Versions: 125
  • Dependent Packages: 1,267
  • Dependent Repositories: 487,102
  • Downloads: 310,729,056 Total
  • Docker Downloads: 805,765,608
  • Rankings:
    • Dependent repos count: 0.033%
    • Dependent packages count: 0.041%
    • Downloads: 0.075%
    • Docker downloads count: 0.171%
    • Average: 0.251%
    • Stargazers count: 0.313%
    • Forks count: 0.873%
  • Maintainers (10)
alpine-v3.18: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r6 (published almost 3 years ago)
  • Last Synced: 2026-02-03T16:22:23.592Z (28 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 1.541%
    • Forks count: 2.738%
    • Stargazers count: 3.426%
  • Maintainers (1)
alpine-edge: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r8 (published 10 months ago)
  • Last Synced: 2026-02-23T14:01:16.987Z (8 days ago)
  • Versions: 4
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Average: 3.271%
    • Stargazers count: 3.342%
    • Forks count: 3.71%
    • Dependent packages count: 6.031%
  • Maintainers (1)
alpine-v3.17: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r5 (published over 3 years ago)
  • Last Synced: 2026-03-02T09:14:10.255Z (1 day ago)
  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Forks count: 2.375%
    • Stargazers count: 3.177%
    • Average: 4.575%
    • Dependent packages count: 12.748%
  • Maintainers (1)
proxy.golang.org: github.com/eventmachine/eventmachine

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/eventmachine/eventmachine#section-documentation
  • Licenses: other
  • Latest release: v1.2.7 (published almost 8 years ago)
  • Last Synced: 2026-03-01T09:29:14.487Z (2 days ago)
  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.023%
    • Forks count: 1.131%
    • Average: 5.633%
    • Dependent packages count: 9.576%
    • Dependent repos count: 10.802%
alpine-v3.16: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r4 (published almost 4 years ago)
  • Last Synced: 2026-02-02T13:53:58.093Z (29 days ago)
  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Forks count: 2.148%
    • Stargazers count: 2.677%
    • Average: 5.873%
    • Dependent packages count: 18.665%
  • Maintainers (1)
alpine-v3.15: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r2 (published over 4 years ago)
  • Last Synced: 2026-03-01T12:24:32.846Z (2 days ago)
  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Forks count: 2.15%
    • Stargazers count: 2.611%
    • Average: 7.587%
    • Dependent packages count: 25.585%
  • Maintainers (1)
gem.coop: wj_eventmachine

EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required.

  • Homepage: https://github.com/eventmachine/eventmachine
  • Documentation: http://www.rubydoc.info/gems/wj_eventmachine/
  • Licenses: Ruby,GPL-2.0
  • Latest release: 1.3.2 (published about 5 years ago)
  • Last Synced: 2026-02-28T04:26:27.059Z (3 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 5,372 Total
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Stargazers count: 0.329%
    • Forks count: 0.923%
    • Average: 13.512%
    • Downloads: 66.308%
  • Maintainers (1)
conda-forge.org: rb-eventmachine

  • Homepage: https://rubygems.org/gems/eventmachine
  • Licenses: GPL-2.0
  • Latest release: 1.2.7 (published over 6 years ago)
  • Last Synced: 2026-02-05T07:04:22.691Z (26 days ago)
  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Rankings:
    • Stargazers count: 5.421%
    • Forks count: 6.259%
    • Average: 16.159%
    • Dependent repos count: 24.058%
    • Dependent packages count: 28.899%
rubygems.org: wj_eventmachine

EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required.

  • Homepage: https://github.com/eventmachine/eventmachine
  • Documentation: http://www.rubydoc.info/gems/wj_eventmachine/
  • Licenses: Ruby,GPL-2.0
  • Latest release: 1.3.2 (published about 5 years ago)
  • Last Synced: 2026-02-28T11:03:10.421Z (3 days ago)
  • Versions: 3
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 5,372 Total
  • Rankings:
    • Stargazers count: 0.261%
    • Forks count: 0.795%
    • Dependent packages count: 7.713%
    • Average: 25.838%
    • Dependent repos count: 46.782%
    • Downloads: 73.639%
  • Maintainers (1)
alpine-v3.19: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r6 (published almost 3 years ago)
  • Last Synced: 2026-02-02T15:28:57.087Z (29 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
  • Maintainers (1)
debian-13: ruby-eventmachine

  • Homepage: https://github.com/eventmachine/eventmachine
  • Documentation: https://packages.debian.org/trixie/ruby-eventmachine
  • Licenses:
  • Latest release: 1.3~pre20220315-df4ab006-5 (published 19 days ago)
  • Last Synced: 2026-02-13T13:15:07.947Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
alpine-v3.21: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r7 (published about 2 years ago)
  • Last Synced: 2026-03-01T01:32:12.829Z (2 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
  • Maintainers (1)
alpine-v3.22: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r8 (published 10 months ago)
  • Last Synced: 2026-03-01T01:18:25.919Z (2 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
  • Maintainers (1)
ubuntu-24.04: ruby-eventmachine

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses:
  • Latest release: 1.3~pre20220315-df4ab006-3build6 (published 25 days ago)
  • Last Synced: 2026-02-06T15:08:42.795Z (25 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
ubuntu-23.04: ruby-eventmachine

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses:
  • Latest release: 1.3~pre20220315-df4ab006-3build2 (published 20 days ago)
  • Last Synced: 2026-02-11T06:38:57.241Z (20 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-12: ruby-eventmachine

  • Homepage: https://github.com/eventmachine/eventmachine
  • Documentation: https://packages.debian.org/bookworm/ruby-eventmachine
  • Licenses:
  • Latest release: 1.3~pre20220315-df4ab006-3 (published 18 days ago)
  • Last Synced: 2026-02-12T23:28:50.550Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
alpine-v3.20: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r7 (published about 2 years ago)
  • Last Synced: 2026-03-01T01:52:43.900Z (2 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
  • Maintainers (1)
ubuntu-22.04: ruby-eventmachine

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses:
  • Latest release: 1.3~pre20201020-b50c135-5 (published 18 days ago)
  • Last Synced: 2026-02-13T13:16:20.673Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
alpine-v3.23: ruby-eventmachine

Fast, simple event-processing library for Ruby programs

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses: Ruby OR GPL-2.0-or-later
  • Latest release: 1.2.7-r8 (published 10 months ago)
  • Last Synced: 2026-02-03T15:55:31.032Z (28 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
debian-11: ruby-eventmachine

  • Homepage: https://github.com/eventmachine/eventmachine
  • Documentation: https://packages.debian.org/bullseye/ruby-eventmachine
  • Licenses:
  • Latest release: 1.3~pre20201020-b50c135-2 (published 20 days ago)
  • Last Synced: 2026-02-13T08:20:02.134Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-24.10: ruby-eventmachine

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses:
  • Latest release: 1.3~pre20220315-df4ab006-5build1 (published 22 days ago)
  • Last Synced: 2026-02-09T16:31:13.022Z (22 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
ubuntu-23.10: ruby-eventmachine

  • Homepage: https://github.com/eventmachine/eventmachine
  • Licenses:
  • Latest release: 1.3~pre20220315-df4ab006-3build2 (published 18 days ago)
  • Last Synced: 2026-02-13T18:19:21.945Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%

Dependencies

.github/workflows/workflow.yml actions
  • MSP-Greg/setup-ruby-pkgs v1 composite
  • actions/checkout v2 composite
Gemfile rubygems
  • yard >= 0.8.5.2 development
  • net-smtp >= 0
  • rake >= 0
eventmachine.gemspec rubygems
  • rake-compiler ~> 1.1 development
  • rake-compiler-dock ~> 0.6.3 development
  • test-unit ~> 3.2 development

Score: 35.150528288393296