Pleroma chat client in PyQt5
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
knotteye 4d5b8e6bc1 Bump version to 1.0.3 3 роки тому
deb/DEBIAN Bump version to 1.0.3 3 роки тому
.gitignore ignore a thing 3 роки тому
COPYING Switch to PyQt5 only 3 роки тому
LICENSE Switch to PyQt5 only 3 роки тому
Makefile Add new assets and ship with makefile 3 роки тому
README.md Update linux info 3 роки тому
audiowidget.py Switch to PyQt5 only 3 роки тому
fedi.ico Add ico file 3 роки тому
fedi.svg Initial commit 3 роки тому
fedi_color.svg Add new assets and ship with makefile 3 роки тому
installer.cfg Bump version to 1.0.3 3 роки тому
misc.py Switch to PyQt5 only 3 роки тому
monkeypatch.py Switch to PyQt5 only 3 роки тому
notif.wav Add new assets and ship with makefile 3 роки тому
plchat.py Properly mark chats as read 3 роки тому
pleroma.py Ask for new 2fa codes when one doesn't work 3 роки тому
send.svg Initial commit 3 роки тому
timeconvert.py Switch to PyQt5 only 3 роки тому
unread.svg Initial commit 3 роки тому
videowidget.py Switch to PyQt5 only 3 роки тому
windows.patch Better windows build system using pynsist. Add recipe for installer, 3 роки тому

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

Download and install the k-lite codec pack. The basic version with default options should work fine.

Download the installer from https://pond.waldn.net/plchat/windows/latest.zip extract the zip file. Other versions can be found at, for example, https://pond.waldn.net/plchat/windows/1.0.1.zip . Run the installer.

Linux

A prepackaged deb file is provided in https://git.waldn.net/git/knotteye/plchat/releases as well as a compiled binary for amd64 linux. The precompiled binary was extremely not-portable and did not work well. Use a package or build from source. If you package plchat for your distro, please let me know and I will add it here.

Gentoo: can be found in this overlay

MacOS

Nuitka does not support cross compilation and I do not have a working MacOS machine or VM, but it should theoretically compile and run just fine. Feel free to message me for support, and I'll be glad to link to your site if you host any binaries you build. A macos binary has been provided by ~am. You can find it on the releases page. Run brew install libmagic before running.

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 Dependencies

You will need the following libraries: PyQt5, Secret Service (on linux or BSD), libmagic (python-magic-bin from pypi on windows), and some codecs for qtmultimedia. The windows codecs can be found above, and on linux you will need gstreamer and some plugins. On gentoo, sudo emerge media-plugins/gst-plugins-base media-plugins/gst-plugins-good media-plugins/gst-plugins-bad media-plugins/gst-plugins-ugly media-plugins/gst-plugins-neon media-plugins/gst-plugins-soup media-plugins/gst-plugins-libav should do. Other distributions are on your own. And, obviously, a copy of python. Python3.5+ is the only thing I will support but other versions may work. End users will need the same version of python used to compile the binary. Other versions may work but this is what nuitka officially supports.

Building

You will need the following packages from pypi: PyQt5, keyring, notify-py, appdirs, python-magic(or python-magic-bin on windows), python-dateutil, requests, urllib3, and websockets. You will also need all runtime dependencies listed above, as well as nuitka3 and a C 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 ignored. 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.