Metadata-Version: 2.4
Name: bdalabb
Version: 0.21.1
Summary: QuickPad-style hotkey overlay for Hadoop lab programs
Classifier: Environment :: X11 Applications
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: python-xlib>=0.33; platform_system == "Linux"
Requires-Dist: dbus-next>=0.2.3; platform_system == "Linux"
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"

# BDA Lab

BDA Lab keeps Hadoop lab programs and their related source, commands, and input
files together in a small desktop overlay. The window and file previews use a
black theme.

## Ubuntu

The application runs in an Ubuntu desktop session. Install Tk and virtual
environment support, then install BDA Lab in a dedicated virtual environment:

```bash
sudo apt update
sudo apt install python3-tk python3-venv
python3 -m venv "$HOME/.local/share/bdalabb/venv"
"$HOME/.local/share/bdalabb/venv/bin/pip" install --upgrade bdalabb
"$HOME/.local/share/bdalabb/venv/bin/bdalabb-service" install
```

The service installer adds a systemd **user** service and a desktop autostart
entry. It starts the overlay when the desktop session starts, restarts it after
an unexpected failure, and stops it when that session ends or the computer
shuts down. Locking the screen does not end the session. To inspect or stop it:

```bash
systemctl --user status bdalabb.service
journalctl --user -u bdalabb.service -f
"$HOME/.local/share/bdalabb/venv/bin/bdalabb-service" stop
```

To remove the service and its autostart entry:

```bash
"$HOME/.local/share/bdalabb/venv/bin/bdalabb-service" uninstall
```

Global Numpad Minus peek/pin and plus-to-hide shortcuts work in Ubuntu Xorg
sessions. Plus means either **Shift+=** or **Numpad Plus**. On supported Wayland
desktops, BDA Lab registers these shortcuts through the desktop's Global
Shortcuts portal; the desktop may ask you to approve or configure them the first
time. This portal is available on GNOME 48+ and KDE Plasma 6+ (availability
depends on the desktop portal backend). If your Wayland desktop does not provide
it, BDA Lab opens as a normal window; choose **Ubuntu on Xorg** from the
login-screen session menu for the overlay shortcuts.

Hold Numpad Minus to peek at the overlay; tap it three times quickly to pin or
unpin. Press **+** to hide the window without stopping the background service.
Press **Ctrl+Shift+Q** to exit BDA Lab.

## Windows

On Windows, install Python 3.10 or later with Tcl/Tk and run:

```powershell
py -m pip install --upgrade bdalabb
bdalabb
```

The same Numpad Minus and plus shortcuts are available. Pressing plus hides the
window but keeps the app running; Ctrl+Shift+Q exits BDA Lab.

## Included program files

The package includes the Matrix Multiplication MapReduce lab with its Java
source, run commands, and two input files. Use **Add program folder** to add
other complete programs; imported files are copied into the per-user data
directory and the originals are left unchanged.

## Development

```bash
python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip build
python -m pip install -e ".[dev]"
python -m unittest discover -s tests -v
python -m build
```
