Analyze and visualize relations between chat users.
Project description
Chat Relater is a tool consisting of two command-line scripts:
The analyzer extracts user relations from chat logs. The gained data is serialized as JSON.
The visualizer takes that data, generates a DOT file, and calls the GraphViz application to render the graph in the requested output format (e. g. PDF, PNG, SVG).
It is actually a conceptual clone of the PieSpy Social Network Bot. However, Chat Relater does not act as an IRC bot (although this could be easily accomplished by making use of the irc package), but therefore allows to be run on any logfiles that produce similar output to those created by XChat. Of course, this includes logs from Jabber, SILC or any other communication (but it might require some minor changes to the log reader).
The GraphViz usage is pretty basic and output may be improved somehow, but so far, the graphs created by PieSpy look much nicer.
Requirements
Python 2.7+ or 3.3+ is required.
The required Python packages can be installed via pip:
$ pip install -r requirements.txt
Tests
To run tests, install the dependencies once, then run tests with tox:
$ pip install -r requirements-test.txt
$ tox
Usage
Run the analyzer on one or more log files, saving the intermediate results to another file (chat.json):
$ ./analyze.py -o chat.json chat_today.log chat_yesterday.log
Create a nice graph (using the ‘twopi’ program) from the results (chat.json) and save it to a PNG image (graph.png):
$ ./visualize.py -f png -p twopi chat.json graph
And intermediate file containing the ‘dot’ description (graph) will be created in the process.
- Copyright:
2007-2015 Jochen Kupperschmidt
- Date:
09-Aug-2015
- License:
MIT, see LICENSE for details.
- Version:
0.3
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.