Pleroma chat client in PyQt5
 
 
 
 
Go to file
knotteye c26695fdf6 Add readme 2021-04-17 00:28:59 -05:00
.gitignore Add readme 2021-04-17 00:28:59 -05:00
COPYING Add license, copying, remove the last of the PyQt5 calls 2021-04-15 20:42:40 -05:00
LICENSE Add license, copying, remove the last of the PyQt5 calls 2021-04-15 20:42:40 -05:00
Makefile Add install target to makefile 2021-04-16 22:22:31 -05:00
README.md Add readme 2021-04-17 00:28:59 -05:00
audiowidget.py Add license, copying, remove the last of the PyQt5 calls 2021-04-15 20:42:40 -05:00
fedi.ico Add ico file 2021-04-16 20:25:56 -05:00
fedi.svg Initial commit 2021-04-15 15:16:38 -05:00
installer.cfg Add recipe for NSIS installer with pynsis 2021-04-17 00:28:27 -05:00
misc.py Add licensing information to the app so we can compile some libraries in 2021-04-15 21:14:59 -05:00
monkeypatch.py Add license, copying, remove the last of the PyQt5 calls 2021-04-15 20:42:40 -05:00
plchat.py Add main function 2021-04-17 00:26:54 -05:00
pleroma.py Add license, copying, remove the last of the PyQt5 calls 2021-04-15 20:42:40 -05:00
send.svg Initial commit 2021-04-15 15:16:38 -05:00
timeconvert.py Add license, copying, remove the last of the PyQt5 calls 2021-04-15 20:42:40 -05:00
unread.svg Initial commit 2021-04-15 15:16:38 -05:00
videowidget.py Add license, copying, remove the last of the PyQt5 calls 2021-04-15 20:42:40 -05:00

README.md

PlChat - A Pleroma Chat Client

Pleroma chat client

Usage

Run the binary or python plchat.py. Log in to your account on the fediverse and start chatting. If your server runs behind a reverse proxy, it will need to proxy websocket connections.

Installation

Installation instructions for PlChat. If you are looking to package this program or build from source, skip to Building From Source or Packaging down below.

Windows

Linux

MacOS

Building From Source or Packaging

PlChat comes with a Makefile for compiling to a binary, but it is of course possible to run the source directly with just python plchat.py. The easiest way to package PlChat is just to make sure the dependencies are installed and write a script that sets the appropriate pythonpath and runs plchat.py. Otherwise you can see below for instructions on building the binary.

Runtime Depencies

You will need QtPy and a compatible set of bindings, either PyQt4/5 or Pyside/PySide2, all available on PyPI. You will also need the following system libraries: Qt4 or 5 (depending on your bindings), Secret Service (on linux or BSD), and libmagic. And, obviously, a copy of python. Python3.5+ is the only thing I will support but other versions may work.

Building

You will need the following packages from pypi: keyring, appdirs, python-magic, python-dateutil, and websockets. You will also need all runtime dependencies listed above, as well as nuitka3 and a C compiler compiler. Nuitka supports the following compilers:

  • gcc 5.1+ or g++ 4.4+
  • clang on macOS or BSD
  • MinGW64/Visual Studio 2019+/clang-cl on Windows

Cross compilation is not supported so you will need to compile on the OS and architecture that you are targeting.

Once everything is installed and in your path it should be a simple make && sudo make install to build everything. The resulting binary will have it's own copy of all the python build dependencies, which can then be uninstalled or ignore. You can also make systemlibs if you wish, and the resulting binary will rely on system packages for all python modules listed above as build depencies.

Nuitka produces very large binaries. UPX works well if you want to reduce the size.