Skip to main content

Graphical user interface for dtool

Project description

dtool-lookup-gui icon GitHub Workflow Status GitHub release (latest by date) PyPI package

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.

data/screenshots/screenshot1.png

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


Download files

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

Source Distribution

dtool-lookup-gui-0.6.2.tar.gz (489.2 kB view hashes)

Uploaded Source

Built Distribution

dtool_lookup_gui-0.6.2-py3-none-any.whl (108.0 kB view hashes)

Uploaded Python 3

Supported by

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