Skip to content

rbaltrusch/pychatter

Repository files navigation

Unit tests Pylint License: MIT

pychatter

pychatter is a direct chat tool, which may be run to communicate over a local network.

Gif of the application GUI

Communication happens over the localhost port 8080.

This is primarily an exercise in duplex client-server communication using websockets.

Getting started

Install the pychatter package using pip, then run the package:

python -m pip install pychatter
python -m pychatter

Hosting a chat server can be done directly inside the graphical user interface, or a dedicated server may be started from the command line using:

python -m pychatter --server

⚠️ State of the repository ⚠️

This repository is unlikely to receive new features in the future, although maintenance and small fixes will still be done.

This means that some features that are missing now will stay missing (but feel free to submit a pull request to add them!), and non-optimal aspects of the codebase or the application are unlikely to get fixed.

Configuration

The chat application supports external configuration files. Place a file named config.json in the directory from which the application is run.

The configuration file currently supports one setting, "chat_format", which is used to display chat messages. It supports the following placeholder strings:

  • %T: time
  • %U: user name
  • %M: message

An example config.json could contain the following data:

{
	"chat_format": "%T: %U: %M"
}

Contributions

To contribute to this repository, please read the contribution guidelines.

Python

Written in Python 3.7.3.

License

This repository is open-source software available under the MIT License.

Contact

Please raise an issue for code changes. To reach out, please send an email to richard@baltrusch.net.

Attributions

Icons made by Freepik from www.flaticon.com.