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.
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.
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.appThat should enable you to launch the app as usual. Another option is to call
/Applications/dtool-lookup-gui.app/Contents/MacOS/dtool-lookup-guidirectly from the command line.
This application requires Gtk 3 and GtkSourceView 4.
On Ubuntu (20.04),
apt install -y gir1.2-gtksource-4suffices to to install these dependencies from the standard system package repositories.
On recent macOS (>= 10.15) use homebrew,
brew install gtksourceview4 gnome-icon-themeOn 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-smbThis 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.
The application uses setuptools. It can be installed with pip:
pip install dtool-lookup-guiIf you want the latest development release, then use:
pip install git+https://github.com/livMatS/dtool-lookup-gui.gitWhen already clone into a local directly via git, either use pip or install via the standard route
python setup.py installFor 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)
After installation, run the GUI with:
python -m dtool_lookup_guiNote 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.
requirements.in contains unpinned dependencies. requirements.txt with pinned versions has been auto-generated with
pip install pip-tools
pip-compile requirements.in > requirements.txtIt 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.24and run a workflow with
act -s GITHUB_TOKEN=$GITHUB_TOKEN -W .github/workflows/publish-on-pypi.ymlfrom 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 --bindThis 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 -fdxto remove the generated build, dist, and workflow folders and all other artifacts.
After
gsettings set org.gtk.Settings.Debug enable-inspector-keybinding trueuse CTRL-SHIFT-D during execution to display the GTK inspector for interactive debugging.
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.
This development has received funding from the Deutsche Forschungsgemeinschaft within the Cluster of Excellence livMatS.