Skip to main content

Ghidra installation manager and Python library

Project description

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)

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

ghidractl-0.1.3.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ghidractl-0.1.3-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

Details for the file ghidractl-0.1.3.tar.gz.

File metadata

  • Download URL: ghidractl-0.1.3.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghidractl-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1171357f40d180e6476783b5ea3d3f977e538124b2417d55b0489bd63a673ebd
MD5 5c7fe17b0d22f825b9771790f422b77a
BLAKE2b-256 08f7464d67041ce2a36497698fc6f2684c8d532b98fba47188d97eba0e619db4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghidractl-0.1.3.tar.gz:

Publisher: publish.yml on monkeywave/ghidractl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ghidractl-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ghidractl-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 40.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghidractl-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 377fc91cba667b3dddd19c1d87293e5b607c87a09977b45750c95a8f1f09af70
MD5 f18f748cc9bf0342b15dfcb4e1f1ea72
BLAKE2b-256 b4cd83f5f88f46cca1d75a793900e267c2f2db1bd5d39a81c87096dcdf863b7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghidractl-0.1.3-py3-none-any.whl:

Publisher: publish.yml on monkeywave/ghidractl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page