Sopel is an IRC bot framework written in Python designed for extensibility through plugins. It provides core IRC protocol handling, plugin management, configuration systems, and utilities for time, calculation, and web interactions. The architecture centers around a plugin system where functionality is added via decorators (@command, @rule, etc.) and plugins can access bot state, configuration, and persistent storage. Key entry points include the `sopel` CLI for running the bot, `sopel-config` for configuration management, and `sopel-plugins` for plugin operations. The system supports IRCv3 features like SASL authentication and capability negotiation, uses SQLAlchemy for persistent storage of nick/channel data, and includes numerous built-in plugins for utilities such as calculations, URL title fetching, and user tracking. While actively maintained with recent commits, the codebase shows ongoing evolution with deprecated APIs marked for removal (e.g., sopel.loader, sopel.module) indicating moderate technical drift.