Graphical user interface for dtool
Project description
dtool-lookup-gui is a graphical user interface for dtool, dtool-lookup-server and dtool-lookup-server-dependency-graph-plugin written in Python and GTK.
Quick start
Just download the pre-packaged binaries of the latest release and follow the quick start guide to get started.
If the binaries won’t run out-of-the-box on your system, continue below.
OS-specific notes
macOS
After downloading the dmg Apple Disk Image of the latest release and copying dtool-lookup-gui over to your Applications folder, macOS will likely complain about dtool-lookup-gui being damaged and refuse to execute it. This is due to the fact that we are no Apple-verified developers. To run the app anyway, open a terminal and remove Apple’s quarantine attribute from the app with
sudo xattr -rds com.apple.quarantine /Applications/dtool-lookup-gui.app
That should enable you to launch the app as usual. Another option is to call
/Applications/dtool-lookup-gui.app/Contents/MacOS/dtool-lookup-gui
directly from the command line.
Requirements
This application requires Gtk 3 and GtkSourceView 4.
On Ubuntu (20.04),
apt install -y gir1.2-gtksource-4
suffices to to install these dependencies from the standard system package repositories.
On recent macOS (>= 10.15) use homebrew,
brew install gtksourceview4 gnome-icon-theme
On earlie macOs, MacPorts allows the installation of gtksourceview4
sudo port -v selfupdate
sudo port install xorg-server
sudo port install gtksourceview4 py-gobject3 py-pip py-numpy py-scipy
sudo port install adwaita-icon-theme
sudo port select --set python python310
sudo port select --set pip pip310
mkdir -p ~/venv
python -m venv --system-site-packages ~/venv/python-3.10
source ~/venv/python-3.10/bin/activate
pip install --upgrade pip
pip install wheel
pip install dtool-lookup-gui dtool-s3 dtool-smb
This has been tested on macOS 10.13.6.
On Windows, use mingw64/msys2 and refer to the Using GTK from MSYS2 packages on the GTK project’s pages.
Also refer to the build workflows .github/workflows/build-on-[linux|macos|windows].yml within this repository for understanding the requirements for the different systems.
Installation
The application uses setuptools. It can be installed with pip:
pip install dtool-lookup-gui
If you want the latest development release, then use:
pip install git+https://github.com/livMatS/dtool-lookup-gui.git
When already clone into a local directly via git, either use pip or install via the standard route
python setup.py install
For an editable install,
pip install -e .
also run
glib-compile-schemas .
from within subdirectory dtool_lookup_gui. Otherwise, GUI launch fails with
gi.repository.GLib.Error: g-file-error-quark: Failed to open file “/path/to/repository/dtool_lookup_gui/gschemas.compiled”: open() failed: No such file or directory (4)
Running the GUI
After installation, run the GUI with:
python -m dtool_lookup_gui
Note that when you run the GUI for the first time, you will need to configure the URL of the lookup and the authentication server as well as provide a username and a password. To do this, click on the “Burger” symbol and select Settings.
Development
Pinned requirements
requirements.in contains unpinned dependencies. requirements.txt with pinned versions has been auto-generated with
pip install pip-tools
pip-compile requirements.in > requirements.txt
Testing github workflows locally
It is possible to run github workflows locally with the help of docker and act.
Install and configure act at a specific version with
go install github.com/nektos/act@v0.2.24
and run a workflow with
act -s GITHUB_TOKEN=$GITHUB_TOKEN -W .github/workflows/publish-on-pypi.yml
from within this repository. $GITHUB_TOKEN
must hold a valid
access token.
The evoking user must be member of the docker
group.
To generate a pyinstaller-packaged application by the according workflow and store it locally, use the --bind flag, i.e.
act -s GITHUB_TOKEN=$GITHUB_TOKEN -W .github/workflows/build-on-ubuntu.yml --bind
This will bind-mount the current folder into the workflow-executing container. All locally generated artifacts will hence survive the container’s lifespan, but usually belong to root. The executable resides below dist. Use
sudo chown -R $USER:$USER .
git clean -fdx
to remove the generated build, dist, and workflow folders and all other artifacts.
GTK debugging
After
gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true
use CTRL-SHIFT-D during execution to display the GTK inspector for interactive debugging.
GUI design
The GUI uses custom Gtk widgets. To edit the the XML UI definition files with Glade, add the directory glade/catalog to Extra Catalog & Template paths within Glade’s preferences dialog.
Funding
This development has received funding from the Deutsche Forschungsgemeinschaft within the Cluster of Excellence livMatS.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dtool-lookup-gui-0.6.2.tar.gz
.
File metadata
- Download URL: dtool-lookup-gui-0.6.2.tar.gz
- Upload date:
- Size: 489.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5df30489e479d27b4606655d95b250d0a071006ed9a6b8b79b58758c960d10ad |
|
MD5 | 7e4d75739439d5100039fd0c718c28a0 |
|
BLAKE2b-256 | de7932208bdcccd3d348a0204fce6f91ec1c6bd104bb1e9cb16ff507fc4df610 |
File details
Details for the file dtool_lookup_gui-0.6.2-py3-none-any.whl
.
File metadata
- Download URL: dtool_lookup_gui-0.6.2-py3-none-any.whl
- Upload date:
- Size: 108.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b592bb4f27cd4f37281918882897c09fe738c93fa5fa6e1a1918e2cee11d7ee |
|
MD5 | 17ed617f853ba3ee0db693272e4a2ffe |
|
BLAKE2b-256 | fb117efbf1629af31be38dff8746275b216fe81ac083ba60fcfcccf4fd40d5ea |