GhidraCtl
A Python library and CLI tool to effortlessly install, manage, and automate Ghidra environments.
Install, update, and manage multiple Ghidra versions from the command line — or use it as an importable library in your Python tools.
Features
- Install/update/uninstall multiple Ghidra versions side-by-side
- Auto-detect and manage Java/JDK dependencies (Adoptium Temurin)
- Cross-platform: macOS (ARM64 + x86-64), Linux, Windows
- Rich terminal UI with progress bars and tables
- Importable Python API for toolchain integration
- Extension and settings management
Installation
pip install ghidractl
CLI Usage
# Install the latest Ghidra
ghidractl install
# Install a specific version
ghidractl install 11.3
# List installed versions
ghidractl list
# List all available versions
ghidractl list --all
# Set active version
ghidractl use 11.3
# Launch Ghidra GUI
ghidractl run
# Update to latest
ghidractl update
# Uninstall a version
ghidractl uninstall 11.2.1
# Print install path
ghidractl locate
Java Management
# Check Java status
ghidractl java check
# Install JDK via Adoptium
ghidractl java install
# Install a specific JDK version
ghidractl java install --version 17
# Manual install instructions
ghidractl java guide
Extensions
# List extensions
ghidractl ext list
# Install from ZIP
ghidractl ext install ./my-extension.zip
# Remove an extension
ghidractl ext uninstall MyExtension
Settings
# Backup Ghidra settings
ghidractl settings backup
# Restore from backup
ghidractl settings restore ghidra_settings_backup.zip
Configuration
# Show config
ghidractl config show
# Set GitHub token (for higher API rate limits)
ghidractl config set github_token ghp_your_token_here
Library API
import ghidractl
# Install Ghidra
path = ghidractl.install("latest")
# List available versions
versions = ghidractl.list_versions()
# List installed versions
installed = ghidractl.installed()
# Set active version
ghidractl.use("11.3")
# Get install path
path = ghidractl.get_path()
# Launch Ghidra
ghidractl.run()
# Java management
java = ghidractl.java.check()
ghidractl.java.install(version=21)
Requirements
- Python 3.10+
- Java/JDK (auto-installable via
ghidractl java install)
Metadata
Release files for ghidractl 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ghidractl-0.1.3.tar.gz | 31.9 kB | With provenance | Details for ghidractl-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ghidractl-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for ghidractl-0.1.3-py3-none-any.whl |
Total release size: 72.8 kB
Release files / ghidractl-0.1.3.tar.gz
| Download URL | ghidractl-0.1.3.tar.gz |
|---|---|
| Size | 31.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1171357f40d180e6476783b5ea3d3f977e538124b2417d55b0489bd63a673ebd
|
|
BLAKE2b-256 checksum How to use checksums |
08f7464d67041ce2a36497698fc6f2684c8d532b98fba47188d97eba0e619db4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 4, 2026.
Transparency logRelease files / ghidractl-0.1.3-py3-none-any.whl
| Download URL | ghidractl-0.1.3-py3-none-any.whl |
|---|---|
| Size | 40.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
377fc91cba667b3dddd19c1d87293e5b607c87a09977b45750c95a8f1f09af70
|
|
BLAKE2b-256 checksum How to use checksums |
b4cd83f5f88f46cca1d75a793900e267c2f2db1bd5d39a81c87096dcdf863b7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 4, 2026.
Transparency logSecurity for ghidractl 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for ghidractl-0.1.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 4, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.