Skip to main content

Gorilla Test Assistant

Small macOS CLI that listens for a left Alt keypress, captures the current screen, and asks a multimodal DSPy program to answer the visible multiple-choice question.

For background on why this project exists, read the included article: Pass any TestGorilla Assessment.

Install From PyPI

The package name is gorilla-test-assistant and it installs the gorilla-test command.

With uv:

uv tool install --python 3.11.6 gorilla-test-assistant

With pip:

python3.11 -m pip install gorilla-test-assistant

This project supports Python >=3.11,<3.12 because the keyboard listener stack is known to be safest on Python 3.11.

API Keys

The default model is openai/gpt-5.4-mini, so the default setup is:

export OPENAI_API_KEY="your-api-key"

The CLI accepts an LLM model name in LiteLLM format through --model. Provider prefixes like openai/, anthropic/, and groq/ are passed through as-is. If you use an unprefixed model name, the CLI does not rewrite it or assume a provider.

For common provider-prefixed models, set the standard provider environment variable:

Provider prefix Environment variable
openai/ OPENAI_API_KEY
anthropic/ ANTHROPIC_API_KEY
gemini/ or google/ GEMINI_API_KEY or GOOGLE_API_KEY
groq/ GROQ_API_KEY
mistral/ MISTRAL_API_KEY
openrouter/ OPENROUTER_API_KEY
together/ TOGETHER_API_KEY
xai/ XAI_API_KEY

For another provider, point the CLI at the variable name:

gorilla-test --model provider/model-name --api-key-env PROVIDER_API_KEY

For unprefixed model names, use the environment variables expected by LiteLLM for that model.

Usage

Start the listener:

gorilla-test

When a multiple-choice question is visible, press the left Alt key. The CLI prints the structured answer and sends a macOS notification with the selected option number.

On a Mac keyboard, the left Alt key is the left option / alt key:

Mac keyboard with the left option alt key circled

Image adapted from MacBook option key.JPG by Gerolsteiner91, licensed under CC BY-SA 2.5. Modified with a red circle around the left option / alt key.

Choose a different model:

gorilla-test --model openai/gpt-5.4

Change the output token budget:

gorilla-test --max-tokens 8192

Show all options:

gorilla-test --help

Local Development

Run the CLI from this checkout without installing it globally:

uv run --python 3.11.6 --with . gorilla-test --help

Install the current checkout as a global uv tool while developing:

uv tool install --python 3.11.6 --force .

Run the tests:

uv run --python 3.11.6 --with . python -m unittest -v

Build the package:

uv build

Notes

  • The tool is designed for macOS.
  • macOS may require Accessibility and Screen Recording permissions for the terminal app running the CLI.
  • DSPy uses ChainOfThought, so reasoning is produced by the program instead of being modeled as a manual Pydantic output field.
  • Reasoning effort defaults to high.
  • The default max token budget is 8192.

Disclaimer

This project highlights the need for better assessment methods in tech hiring. Use it responsibly and respect the terms of service for any platform involved.

Metadata

Release files for gorilla-test-assistant 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gorilla-test-assistant 0.1.1
File Size Uploaded
gorilla_test_assistant-0.1.1.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gorilla-test-assistant 0.1.1
File Interpreter ABI Platform
gorilla_test_assistant-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 11.6 kB

Release files / gorilla_test_assistant-0.1.1.tar.gz

Download URL gorilla_test_assistant-0.1.1.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0c2b79011179e4f6064a3ec9bf50418e30413f879b671b2e44c0ce5eea7d48ee
BLAKE2b-256 checksum
How to use checksums
4490fc00e8c1dee91df7e9a9d0a95de2b65e3b008730d4b1c8267fa838dfc8b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / gorilla_test_assistant-0.1.1-py3-none-any.whl

Download URL gorilla_test_assistant-0.1.1-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59cd5e1e19e5fdb91da609ae7331e1d23e211dc1fe1ebb5174593668b6fbc04d
BLAKE2b-256 checksum
How to use checksums
feff7a229f40feb9424e75fd34d66e92c9dc69d6a599b32d98cc920f54de9760
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page