Skip to main content

Fetch configuration values for IDA Pro plugins

Project description

ida-settings

ida-settings is a Python library used by IDA Pro plugins to fetch configuration values from the shared settings infrastructure.

During plugin installation, hcli prompts users for the configuration values and stores them in ida-config.json. Subsequently, users can invoke hcli (or later, the IDA Pro GUI) to update their configuration. This is the library that plugins use to fetch the configuration values.

For example, within an IDA Pro plugin:

import ida_settings

api_key = ida_settings.get_current_plugin_setting("openai_key")

API reference

def get_current_plugin_setting(key: str) -> str | bool

Fetch the setting value identified by key, raising KeyError if its not found. This setting should be declared in the current plugin's ida-plugin.json file.

Changing of configuration values should be done via hcli (or later, the IDA Pro GUI). Plugins shouldn't have to do this themselves - but open an issue for discussion if you think otherwise.

Notes

  • this library relies on the IDA Pro's specific plugin environment to identify the current plugin; therefore, this library doesn't work outside of IDA Pro.
  • plugins shouldn't try to reach into ida-config.json themselves, because in the future, we may introduce cascading settings, a la VS Code.

IDA Settings Editor Plugin

This repository also includes a graphical settings manager plugin for IDA Pro.

Features

  • Browse all plugins with settings
  • Edit settings with appropriate UI controls
  • Immediate validation and feedback
  • Revert to defaults
  • Dockable/floating window

Installation

hcli plugin install /path/to/ida-settings

Usage

Open via:

  • Edit → Plugins → Plugin Settings Manager
  • View → Open subviews → Plugin Settings Manager

See Plugin Usage Guide for details.

Standalone Development Mode

For development and testing, you can run the settings editor outside of IDA Pro:

cd /path/to/ida-settings
python plugin/main.py

This standalone mode:

  • Uses the same settings editor UI as the IDA plugin
  • Reads/writes settings from your IDA user directory (~/.idapro on macOS/Linux)
  • Requires HCLI library but not IDA Pro itself
  • Useful for UI development and debugging

Requirements:

  • Python 3.9+
  • PyQt5 or PySide6
  • HCLI library installed

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

ida_settings-3.2.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file ida_settings-3.2.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for ida_settings-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ba331da542206af00d3890a5fe4a30ecf1e8d79e91b573b56ae168b9e2b89cd
MD5 6fb6a6dc59ddea9f63cf25e9dab4f8f4
BLAKE2b-256 a86a7f8eef2ed6bc1a51d3149e0e7cbb12822a506801f8f827aa4bf37376edf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ida_settings-3.2.0-py3-none-any.whl:

Publisher: python-publish.yml on williballenthin/ida-settings

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