Skip to main content

GhidraCtl

PyPI version Publish status Lint Tests

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)

Source distribution for ghidractl 0.1.3
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)

Table of built distributions (wheels) for ghidractl 0.1.3
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

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