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
- 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
- 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.