Skip to main content

A graphical frontend for BorgBackup.

Project description

Borg-Qt

Borg-Qt is a Python 3 based graphical frontend for the backup tool BorgBackup as its name implies it is using the Qt5 Framework. Currently it works only on Linux.

Motivation

I think Borg is a great backup tool which should be available to many more users. Since command line tools can be a bit scary for less experienced users I decided to write a GUI as my "thesis" during my final semester at the IBZ school in Aarau, Switzerland.

Getting Started

These instructions will get you a copy of the project up and running on your local machine.

Prerequisites

You need to have Borg installed in order to have Borg-Qt working. You can get a binary for your operating system here: https://github.com/borgbackup/borg/releases

On a Debian based system you can install it by copying to ~/.local/bin/. Borg needs to be able to get executed by calling the command borg.

cp ~/Downloads/borg-linux64 ~/.local/bin/borg
chmod +x ~/.local/bin/borg

For other systems check their documenation.

Installing

  1. Installing Borg-Qt is very simple. Download the binary for your operating system here: https://github.com/borgqt/borg-qt/releases or install it with pip:
pip3 install borg-qt
  1. Copy the config file from docs/borg_qt.conf.example to ~/.config/borg_qt/borg_qt.conf and edit it to contain a valid path to your BorgBackup repository and the password. Put all your changes into the [borgqt] section. As of now there is no automated way to setup Borg-Qt.

  2. Run the binary by double clicking on it or by copying it to ~/.local/bin/ like Borg. If you do that you might want to create a desktop file for it. Puth the following code into a borg-qt.desktop file in ~/.local/share/applications/.

[Desktop Entry]
Version=1.0
Name=Borg-Qt
Exec=/home/username/.local/bin/borg-qt
Terminal=false
Type=Application
Categories=Tools
MimeType=x-scheme-handler/tg;

Make sure the file is executable:

chmod +x ~/.local/share/applications/borg-qt.desktop

Now you should find Borg-Qt in your desktop's start menu.

If you installed Borg-Qt with pip you can either run borg_qt from the command line or edit the desktop file to exec borg_qt instead of the full path.

Development

To start working on Borg-Qt first clone the git repository and install BorgBackup as described in [Prerequisites].

git clone https://github.com/borg-qt/borg-qt.git

Now create a virtual environment.

cd borg-qt
python3 -m venv venv

And activate it.

source venv/bin/activate

Finally you can install Borg-Qt and it's dependencies.

pip3 install -e .

You're now all set to work on Borg-Qt. It's a good idea to run the tests before starting. You can do this with the following command from the root of the repository.

make test

To make testing the application while programming a bit easier there's a script which reloads the application everytime a file changes in the borg_qt directory. You to use it run the following command from the root of the repository.

./scripts/debugging.sh

ToDos

To have a look at all the planned tasks you can have a look at the planned features here: todos.md

Used packages

Contributing

Everyone is welcome to submit pull requests and reports issues. Please follow PEP8 and remove unnecessary white space when you contribute code. And most importantly make sure that you don't break any tests and if possible write tests for your code.

Versioning

Currently there is no versioning as such. In the future a versioning scheme based on semantic versioning might get used. The master branch is considered to be the stable branch. Other branches might be highly experimental.

Authors

License

This project is licensed under the GPLv3 License - see the file for details.

Acknowledgments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

borg_qt-2019.5.30.1.tar.gz (124.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

borg_qt-2019.5.30.1-py3-none-any.whl (131.9 kB view details)

Uploaded Python 3

File details

Details for the file borg_qt-2019.5.30.1.tar.gz.

File metadata

  • Download URL: borg_qt-2019.5.30.1.tar.gz
  • Upload date:
  • Size: 124.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for borg_qt-2019.5.30.1.tar.gz
Algorithm Hash digest
SHA256 8e560346be865a143142383af26dbcdab87162e7bc692b476f72502eb2a45b4d
MD5 6648b4c519c8b5be582f1c15791546bc
BLAKE2b-256 dfde8294dda944cb0534c3359d253539c93a17945d9831614eb816ce6b692a36

See more details on using hashes here.

File details

Details for the file borg_qt-2019.5.30.1-py3-none-any.whl.

File metadata

  • Download URL: borg_qt-2019.5.30.1-py3-none-any.whl
  • Upload date:
  • Size: 131.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for borg_qt-2019.5.30.1-py3-none-any.whl
Algorithm Hash digest
SHA256 565211a15d69029c901e3c6cc2c4dfdce1f07c614b7cb476f190e382a019d435
MD5 38633fa408b1dce29cef59fb0c434338
BLAKE2b-256 514d3525288616885ab204b901e30d502e58909124b027724915e0f25d33a76b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page