The Python IRC Bot

System requirements

Sopel is designed to run on Linux with Python 2.7 or 3.3+. It should probably work in other POSIX-compliant OSes, and seems to more-or-less work on Windows.

Sopel itself has few external dependencies, besides Python. There are a couple, though:

  • dnspython - used internally to enhance connection reliability
  • requests - used to maintain compatibility with old modules that still try to use Sopel’s web utility functions
  • sqlite - included with all supported Python releases

Most of Sopel’s dependencies are only needed for specific modules. Below is a listing of some of these. If you don’t want to use a specific module, you do not need its dependencies.

  • geoip2 - ip. You will also need the appropriate database files, which Sopel will download automatically if they are not found.
  • ipython - ipython
  • praw - reddit
  • pyenchant - spellcheck. You may also need to install the system-level enchant library.
  • pytz - remind, clock, seen, tell
  • requests - [many]. Used by nearly every module that needs to talk to a web service.
  • xmltodict - bugzilla, search

Most of these packages can be installed through the pip command, or via your Linux distribution’s software repository. If you install Sopel through pip or your distribution’s package manager (on Fedora or Arch), all of these dependencies will be installed for you.