https://github.com/goshuirc/irc
A modern Python IRC library for Python 3.4, based on asyncio. Currently in alpha.
https://github.com/goshuirc/irc
irc
Last synced: 6 months ago
JSON representation
A modern Python IRC library for Python 3.4, based on asyncio. Currently in alpha.
- Host: GitHub
- URL: https://github.com/goshuirc/irc
- Owner: goshuirc
- License: isc
- Created: 2015-05-28T22:30:13.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2020-11-07T13:00:35.000Z (over 5 years ago)
- Last Synced: 2024-08-09T06:53:25.692Z (almost 2 years ago)
- Topics: irc
- Language: Python
- Homepage:
- Size: 160 KB
- Stars: 10
- Watchers: 5
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
.. image:: https://github.com/goshuirc/irc/raw/master/docs/logo.png
:alt: gIRC
:align: center
A modern Python IRC library for Python 3.4, based on asyncio. Currently in alpha.
----
.. image:: https://img.shields.io/pypi/v/girc.svg?label=latest%20version
:alt: PyPi Latest Version
:target: https://pypi.python.org/pypi/girc
.. image:: https://travis-ci.org/goshuirc/irc.svg?branch=master
:alt: Travis-CI Build Status
:target: https://travis-ci.org/goshuirc/irc
.. image:: https://coveralls.io/repos/goshuirc/irc/badge.svg?branch=master&service=github
:alt: Coveralls Code Coverage
:target: https://coveralls.io/github/goshuirc/irc?branch=master
----
If you use this, anything can change without notice, everything can be overhauled, and development may even stop entirely without any warning.
If you would like to help build this, awesome! Otherwise, I'd stay away for now and use another library: `irc `_, `irc3 `_.
`Hosted Documentation `_
Features
--------
This library is in development, so these features may be in various levels of completion right now.
* Incoming and outgoing events.
* Info and state tracking.
* Server-based IRC mapping for dicts, lists, and strings.
* IRCv3 capability support.
* Escaping and unescaping IRC formatting for ease-of-use (bold, colours, etc).
Why?
----
I've been using another IRC library for a long time. It's been pretty good, but I need more features. Handling both incoming and outgoing messages, automatic information tracking, converting IRC formatting (bold/colours/etc) to and from an escaped, human-readable and writable format.
I've looked at some other libraries, but they're usually either too low-level, too involved, or too 'magic' for my liking. That said, this one is planning to be pretty magic, but it's going to be magic in a way I think makes sense.
So I decided to write my own. As part of `mammon-ircd `_, a nice low-level library called `ircreactor `_ was developed. This is also a chance to give that a spin from the client side, rather than the server side.
Running Tests
-------------
To run the test cases, go to the ``tests`` directory and run: ``python3 -m unittest``, or use the ``./runtests`` shell script (which also produces coverage graphs).
Acknowledgements
----------------
We bundle the `ircreactor `_ library developed as a part of `mammon-ircd `_. This license for this library can be found in the LICENSE.ircreactor file.