Skip to content

🧠🖼️ The official desktop client for BrainFrame, made with Qt

License

Notifications You must be signed in to change notification settings

aotuai/brainframe-qt

Repository files navigation

This is the official BrainFrame client, written using PyQt5. BrainFrame is a platform for realtime machine learning and video-analytics that makes inference easy when using OpenVisionCapsules capsules.

docs/img/client_screenshot.png

Getting Started

Prerequisites

In order to use the BrainFrame Client, you'll need to have the BrainFrame backend installed and running. Check out our docs here to get started.

Direct Installation

Snap

Use the snap command to install the Snap from the official Snapcraft repositories. Make sure to change the channel version to whichever version of the client you want to be using.

snap install brainframe-client --channel=0.27/stable

AUR

Coming soon

Windows

Note: The pre-built Windows client is still in beta.

You can download an .exe of the Windows client from our website.

Building from source

Note: All build scripts must be run from the root of the project

Snap

We have provided a script that builds the Snap inside a Docker image, and then extracts the files to the host computer. Make sure you have installed the Python development dependencies, specifically docker.

python package/snap/build_snap.py

Use the --help flag to get a list of optional arguments (and default values) for configuration.

Then, install the built Snap.

snap install --dangerous dist/brainframe-client_*.snap

The --dangerous flag allows Snap to install unsigned local files. This is necessary as you've built the .snap yourself.

Running

First, make sure you have the backend installed and running on your server machine. If not, follow the steps in the Prerequisites section.

brainframe compose up

From Direct Installation

If you installed the client through a direct installation, simply launch the client through your typical start/application menu.

Note: If using the beta Windows client, this is not yet supported. Please double click the .exe to start the client.

From Source

If running from source, you'll need to install all the client dependencies.

System Dependencies

There are a few dependencies that need to be installed globally to your system. These are the dependencies for pygobject and Qt.

Operating System Dependency installation command
Ubuntu 18.04
apt install \\
    libcairo2-dev libgirepository1.0-dev \\
    gir1.2-gst-rtsp-server \\
    qtbase5-dev qt5-default qttools5-dev \\
    qtbase5-dev-tools qttools5-dev-tools
Ubuntu 20.04
Arch
pacman -S --needed \\
    cairo gobject-introspection \\
    qt5-tools qt5-base
Windows TODO

Python Dependencies

In order to pull down the Python dependencies, you'll need to install Poetry.

Operating System Poetry installation
Ubuntu 18.04 See Poetry instructions
Ubuntu 20.04 See Poetry instructions
Arch
pacman -S python-poetry
Windows See Poetry instructions

Install the Python dependencies using Poetry.

poetry install

# If using Windows, installation requires an extra
poetry install --extra windows

Finally, start the client

python brainframe_client.py  # Use python3 if on an older system

(Re)distribution

This repository is targeted for end-users of the BrainFrame Client. If you would like to (re)distribute the client, refer to DISTRIBUTION.rst in the project root.