irc
IRC (Internet Relay Chat) protocol library for Python
Decision gist · record as of 2026-08-14
Yes, if you need to build IRC clients or bots in Python. The library is stable (Production/Stable status), permissively licensed, has low install friction, and carries no known vulnerabilities. The main gotcha is that documentation is acknowledged as sparse—you'll need to read examples and source code—and the asyncio version lacks DCC support. For straightforward IRC automation or bot work, it's a solid choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later.
- You must understand basic IRC protocol concepts (channels, nicks, commands) to use the library effectively.
- Low friction install with a pure-Python wheel.
License · maintenance · safety
permissive license (permissive) — MIT-licensed under permissive terms, allowing use in commercial and proprietary projects with minimal restrictions.
last release 2024-07-14 (761 days) · last repo commit 2026-04-13 · 421 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 87,073 downloads/mo, #13,815 on PyPI
Alternatives
Verify before relying
pip install irc
import irc.client
reactor = irc.client.Reactor()
server = reactor.server()
server.connect('irc.example.com', 'botname')
reactor.process_forever()- Whether the asyncio-based client (irc.client_aio) is production-ready given the note that DCC is not implemented in that version
- Current state of documentation quality beyond the included examples and docstrings
- Typical IRC server port numbers and connection parameters for usage examples
What it is and what it does
The irc package is a full-featured IRC protocol library that abstracts the low-level IRC protocol details into an event-driven framework. It handles multiple simultaneous server connections, automatic server PONG responses, and provides both a traditional select()-based reactor and a Python 3 asyncio-based alternative. The library includes support for CTCP (Client-to-Client Protocol) and DCC (Direct Client Connection) file transfers, plus higher-level abstractions like a simple object-oriented client class and a bot framework.
You use it by instantiating a Reactor, registering event handlers, and calling methods on ServerConnection objects to send messages; incoming server messages trigger events that your handlers catch. The package includes example scripts demonstrating typical patterns. Ten runtime dependencies handle utilities like timezone support via pytz, text processing, and resource imports across Python versions.
Use it for
- Build an IRC bot that listens to channels and responds to commands or events
- Create a simple IRC client that reads stdin and sends messages to a channel or user
- Implement custom IRC server for testing or internal chat infrastructure
- Handle DCC file transfers programmatically between IRC peers
- Monitor IRC channels and log or react to specific message patterns
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to build IRC clients or bots in Python.
The library is stable (Production/Stable status), permissively licensed, has low install friction, and carries no known vulnerabilities. The main gotcha is that documentation is acknowledged as sparse—you'll need to read examples and source code—and the asyncio version lacks DCC support. For straightforward IRC automation or bot work, it's a solid choice.
Install
irc on PyPI
Before you install
Low friction install with a pure-Python wheel. Maintained actively with recent commits; repository shows ongoing development, suggesting stable rather than abandoned status.
Requires Python 3.8 or later. You must understand basic IRC protocol concepts (channels, nicks, commands) to use the library effectively.
License in practice
MIT-licensed under permissive terms, allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install irc
import irc.client
reactor = irc.client.Reactor()
server = reactor.server()
server.connect('irc.example.com', 'botname')
reactor.process_forever()
Verify before relying
- Whether the asyncio-based client (irc.client_aio) is production-ready given the note that DCC is not implemented in that version
- Current state of documentation quality beyond the included examples and docstrings
- Typical IRC server port numbers and connection parameters for usage examples
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 10 packagesjaraco.collectionsjaraco.textjaraco.loggingjaraco.functoolsjaraco.streampytzmore-itertoolstemporaimportlib-resourcesimportlib-metadata |
| Maintenance | Actively maintained 761 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 87,073 / month, #13,815 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: Only |
Evidence: irc-20.5.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “IRC client library Python”
- ircProvides a low-level, event-driven IRC protocol implementation with…
- TwistedTwisted is an event-driven networking framework that provides…
- pypresencePypresence is a Python client for Discord Rich Presence, allowing you…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also Twisted · txtorcon · websockets · dcc-mcp-core · aiortsp · twitchAPI · anyio · aiochannel · aeventkit · jaraco.classes