Skip to main content

Graphical user interface for dtool

Project description

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.

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 install xorg-xserver
sudo port install gtksourceview4 py-gopject3 py-pip py-numpy py-scipy
sudo port install adwaita-icon-theme

sudo port select --set python python310
sudo port select --set pip ip310

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.4.5.tar.gz (132.1 kB view details)

Uploaded Source

Built Distribution

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

dtool_lookup_gui-0.4.5-py3-none-any.whl (97.2 kB view details)

Uploaded Python 3

File details

Details for the file dtool-lookup-gui-0.4.5.tar.gz.

File metadata

  • Download URL: dtool-lookup-gui-0.4.5.tar.gz
  • Upload date:
  • Size: 132.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for dtool-lookup-gui-0.4.5.tar.gz
Algorithm Hash digest
SHA256 73006c930db870a242cc33f503a3f66605d56877093270f50ce0e1978fb34618
MD5 8c78704a80770926eb86fa09fcb2126c
BLAKE2b-256 6dea01ed1e805ccd5cc93e152bf47171755af2226d34b3761eb8ba6fc8bb9f79

See more details on using hashes here.

File details

Details for the file dtool_lookup_gui-0.4.5-py3-none-any.whl.

File metadata

  • Download URL: dtool_lookup_gui-0.4.5-py3-none-any.whl
  • Upload date:
  • Size: 97.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for dtool_lookup_gui-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bf5154c40bcfef62c975eabe9fd53c9572322566ec3f778345b25a5b2a8a947d
MD5 0d11e3f1ac8f9c7fa124875325eb0e38
BLAKE2b-256 fc707507cb98c41c688c94806b7cb4af5b09334e9816907c948344a7899ec6f5

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