A Python Graphical User Interface for the ASTRA program
Project description
ASTRA GUI
ASTRA GUI provides a desktop interface for preparing and running ASTRA workflows. It ships ready-to-use notebook pages for common time-dependent and time-independent calculations, wraps the ASTRA command-line tools, and keeps input templates and run configurations organized.
Requirements
- Python 3.11–3.13 (CPython)
- Tkinter (GUI toolkit used by the application)
- ASTRA binaries available on your
PATH
Install Tkinter
Tkinter is bundled with some Python distributions but not all. The GUI will not start without it.
macOS
-
If you installed Python from python.org, Tkinter is already included—no extra action required.
-
For Homebrew Python, install the matching Tk bindings:
brew install python-tk
Homebrew publishes versioned formulae (for example
python-tk@3.12); install the one that matches the Python you are using and follow anybrew linkinstructions it prints.
Linux
-
Debian/Ubuntu and derivatives:
sudo apt-get update sudo apt-get install python3-tk
-
Fedora/RHEL and derivatives:
sudo dnf install python3-tkinter
-
Arch Linux:
sudo pacman -S tk
Refer to your distribution’s package manager if it uses different names.
Verify Tkinter Is Available
After installation, confirm Tkinter works by launching the self-test. A small window labeled “Tk” should appear.
python3 -m tkinter
If you receive ModuleNotFoundError: No module named '_tkinter', reinstall Tkinter for the interpreter you are using.
Installation
Install the latest release from PyPI:
pip install astra_gui
Launching the GUI
Once installed, run ASTRA GUI from the terminal:
astra_gui
Add the --debug flag to enable verbose logging if you are diagnosing issues.
Configure ASTRA Paths
ASTRA GUI shells out to the ASTRA binaries, so it must be able to find them through environment variables such as PATH, ASTRA_HOME, or any custom variables your installation requires.
- When you connect to a machine with
ssh, Bash starts as a login shell. Login shells read~/.bash_profile(or~/.profile) first and skip~/.bashrcunless it is explicitly sourced. - If you maintain custom
PATHentries for ASTRA (or for companion tools like DALTON, LUCIA, SCATCI, or PRISM) in~/.bashrc, move those exports to~/.bash_profileso they are available when ASTRA GUI launches within a login shell.
Remote Connections and Notifications
ASTRA GUI supports SSH-backed runs and completion alerts. Configure remote access through Settings ▸ SSH; add the target host, user, and key to your ~/.ssh/config so the dialog can reuse those settings. Enable run notifications via Settings ▸ Notifications, then select Email or NTFY and supply the destination address or topic to receive status updates.
Detailed walkthroughs live in the GUI under Help in the menu bar.
Developer Setup
Clone the repository and install the project in development mode:
git clone https://github.com/Faria22/astra_gui.git
cd astra_gui
pip install -e .[dev]
Use Hatch to run the standard quality checks:
hatch run all # Ruff, basedpyright, and pytest
License
astra_gui is distributed under the terms of the MIT license.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file astra_gui-1.5.2.tar.gz.
File metadata
- Download URL: astra_gui-1.5.2.tar.gz
- Upload date:
- Size: 119.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cecc1dc3fa04811f13be7fdd3c7856d4b932d8aa48f0907b9ec143cb9fceceb0
|
|
| MD5 |
65e65e98720ce4b14ac09ce8c307584c
|
|
| BLAKE2b-256 |
fb23d4ae633a45311e05336c12a1fcaf8c0a1128d53b022f65d421c5b51d5b4a
|
Provenance
The following attestation bundles were made for astra_gui-1.5.2.tar.gz:
Publisher:
publish.yml on Faria22/astra_gui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
astra_gui-1.5.2.tar.gz -
Subject digest:
cecc1dc3fa04811f13be7fdd3c7856d4b932d8aa48f0907b9ec143cb9fceceb0 - Sigstore transparency entry: 948413781
- Sigstore integration time:
-
Permalink:
Faria22/astra_gui@99a7eb57d48722f19901579484e95e6e7480a65b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Faria22
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@99a7eb57d48722f19901579484e95e6e7480a65b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file astra_gui-1.5.2-py3-none-any.whl.
File metadata
- Download URL: astra_gui-1.5.2-py3-none-any.whl
- Upload date:
- Size: 123.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8be8647dac9df693e6ad69407b0d6e1bf7b442d478358781fed3e6ab67a2fba7
|
|
| MD5 |
bb4d131d2eb0369085f1026fb492f42e
|
|
| BLAKE2b-256 |
fb464ba705b9e6cbd47377060ebe8b16e847c56fbb852285241bc318ab9cdd51
|
Provenance
The following attestation bundles were made for astra_gui-1.5.2-py3-none-any.whl:
Publisher:
publish.yml on Faria22/astra_gui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
astra_gui-1.5.2-py3-none-any.whl -
Subject digest:
8be8647dac9df693e6ad69407b0d6e1bf7b442d478358781fed3e6ab67a2fba7 - Sigstore transparency entry: 948413822
- Sigstore integration time:
-
Permalink:
Faria22/astra_gui@99a7eb57d48722f19901579484e95e6e7480a65b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Faria22
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@99a7eb57d48722f19901579484e95e6e7480a65b -
Trigger Event:
workflow_dispatch
-
Statement type: