Conversion of IRC messages into intermediate representation
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



NOTE: This software is in ALPHA and not yet ready for production. APIs can and likely will change as we develop the library further.

ircreactor is a library for the conversion of IRC messages into intermediate objects. In other words, ircreactor provides the following functionality:

  • Parsing of IRC messages into an intermediate representation
  • Conversion of intermediate representation back into IRC messages
  • Subscription for intermediate representation elements


ircreactor is mainly meant to implement irc clients or irc servers. It handles abstraction of the IRC protocol versions, by providing a clean native object which describes an IRC message. It also provides an event manager for implementation of the mutation-reactor pattern.

A very basic example which ties ircreactor to asyncio.Protocol and dumps IR representation of the IRC messages can be found in

If you run it, you will see output like:

2014-12-14 11:54:06,447 Using selector: KqueueSelector
Serving on ('', 6667)
Connection from ('', 51952)
2014-12-14 11:54:09,705 dispatching: rfc1459 message NICK: {'verb': 'NICK', 'client': <__main__.IRCClient object at 0x106329780>, 'source': None, 'params': ['kaniini'], 'tags': {}}

It will also echo back the message after rebuilding from the intermediate representation.