{"schema_version":1,"metadata":{"branch":"current","release":"7.9","architecture":"amd64","generated_at":"2026-09-09T04:04:41.004595+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/sqlports-7.55.tgz","source_sha256":"fcdbba1b9df747882aa9bab4af20ebec8dac10655069c90f1cd4145c06e1235e","package_count":12031,"source_kind":"sqlports"},"package":{"name":"py3-irclib-0.8.2","path":"net/py-irclib","url":"/packages/current/net/py-irclib/","comment":"Internet Relay Chat (IRC) protocol client library for Python","homepage":"https://github.com/TotallyNotRobots/py-irclib","maintainer":"The OpenBSD ports mailing-list <ports@openbsd.org>","description":"The Python IRC library is intended to encapsulate the IRC protocol at a\nquite low level.  It provides an event-driven IRC client framework.  It\nhas a fairly thorough support for the basic IRC protocol, CTCP and DCC\nconnections.\n\nThe main features of the IRC client framework are:\n\n  * Abstraction of the IRC protocol.\n  * Handles multiple simultaneous IRC server connections.\n  * Handles server PONGing transparently.\n  * Messages to the IRC server are done by calling methods on an IRC\n    connection object.\n  * Messages from an IRC server triggers events, which can be caught\n    by event handlers.\n  * Reading from and writing to IRC server sockets are normally done\n    by an internal select() loop, but the select()ing may be done by an\n    external main loop.\n  * Functions can be registered to execute at specified times by the\n    event-loop.\n  * Decodes CTCP tagging correctly (hopefully); I haven't seen any\n    other IRC client implementation that handles the CTCP specification\n    subtilties.\n  * A kind of simple, single-server, object-oriented IRC client class\n    that dispatches events to instance methods is included.\n  * DCC connection support.\n","package_architecture":"amd64","stem":"py3-irclib","readme":null,"dependencies":[{"path":"lang/python/3","type":"runtime","package_spec":"","url":"/packages/current/lang/python/3/"},{"path":"lang/python/3","type":"build","package_spec":"","url":"/packages/current/lang/python/3/"},{"path":"devel/py-build","type":"build","package_spec":"","url":"/packages/current/devel/py-build/"},{"path":"devel/py-installer","type":"build","package_spec":"","url":"/packages/current/devel/py-installer/"},{"path":"devel/py-hatch-vcs","type":"build","package_spec":"","url":"/packages/current/devel/py-hatch-vcs/"},{"path":"lang/python/3","type":"test","package_spec":"","url":"/packages/current/lang/python/3/"},{"path":"devel/py-test","type":"test","package_spec":"","url":"/packages/current/devel/py-test/"}],"reverse_dependencies":{"count":3,"url":"/packages/data/e5/e5fc1466827d77af3e811ff39d1287793da4d1cfb0108d04e9aa460c11389cbe.json"},"categories":["net","lang/python"],"flavors":[],"only_for_architectures":["aarch64","amd64","arm","i386","mips64","mips64el","powerpc","powerpc64","riscv64","sparc64","alpha","hppa"],"not_for_architectures":[]}}
