Registry / devops / ida-settings

ida-settings

JSON →
library3.4.1pypypi✓ verified 84d ago

ida-settings is a Python library (current version 3.3.0) designed for IDA Pro plugins to fetch configuration values from a shared, centralized settings infrastructure. It provides a standardized way for plugins to retrieve and manage user-defined settings within the IDA Pro environment. The library is specifically intended for use within IDA Pro and its plugin ecosystem and does not operate as a standalone utility.

pip install ida-settings
INSTALL
IMPORT
SIG · IDA-SETTINGS
I
ida-settings
devopspythonv3.4.1
Install
5.7s avg
Import
867ms
Disk
61MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v3.4.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.731s · 72.8MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 5.7s · import 0.657s · 72MB
61MB installed
● package 61MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ida_settings
import ida_settings

This quickstart demonstrates how to import `ida_settings` and retrieve a configuration value for the current plugin using `get_current_plugin_setting`. It also shows how to check for the existence of a setting. This code snippet is designed to be executed within an IDA Pro plugin environment.

import ida_settings # This code must run within an IDA Pro plugin environment. # For demonstration purposes, we assume 'openai_key' is a setting # defined in the current plugin's ida-plugin.json. try: # Fetch a setting value api_key = ida_settings.get_current_plugin_setting("openai_key") print(f"Retrieved API Key: {api_key}") # Example of programmatic setting (use with caution, hcli/GUI preferred) # ida_settings.set_current_plugin_setting("some_feature_enabled", True) # Check if a setting exists if ida_settings.has_current_plugin_setting("another_setting"): print("Another setting exists.") except KeyError as e: print(f"Error: Setting not found - {e}. Ensure it's defined in ida-plugin.json.") except Exception as e: print(f"An unexpected error occurred: {e}")
Debug
Known issues
gotchaThe `ida-settings` library is designed exclusively for use within the IDA Pro plugin environment. It relies on internal IDA Pro mechanisms to identify the current plugin and access settings, meaning it will not function correctly if run as a standalone Python script outside of IDA Pro.
fix
Ensure that any code utilizing `ida-settings` is executed as part of an IDA Pro plugin.
affects: All versions
gotchaPlugins should interact with settings strictly through the `ida-settings` API (e.g., `get_current_plugin_setting`, `set`, `del`). Direct manipulation of the `ida-config.json` file is discouraged and may lead to breakage in future versions, as cascading settings mechanisms similar to VS Code may be introduced.
fix
Always use the provided `ida_settings` functions to fetch, set, or delete configuration values.
affects: All versions
breakingWhile `ida-settings` is a Python library, its users should be aware that IDA Pro version 9.0 introduced significant breaking changes for plugin compatibility. C++ plugins required rebuilding, and IDAPython usage might require referencing porting guides due to SDK changes. Although not directly breaking `ida-settings`'s API, the broader plugin environment might need updates.
fix
Consult the IDA Pro 9.0 release notes and developer guides (especially for IDAPython) when upgrading your IDA Pro installation to ensure compatibility for your entire plugin suite.
affects: IDA Pro 9.0 and later (indirectly affects plugins using ida-settings)
Errors
Common errors & fixes
ImportError: No module named ida_settings
The Python environment used by IDA Pro cannot locate the 'ida_settings' module, often due to incorrect installation or an improperly configured Python path within IDA.
fix
Ensure 'ida-settings' is installed in the Python environment IDA Pro is configured to use (e.g., `pip install ida-settings`). If IDA Pro is not using the correct Python interpreter, use `idapyswitch.exe` (located in IDA's installation directory) to point IDA to the Python installation where `ida-settings` is installed.
ImportError: DLL load failed while importing sip: The specified module could not be found.
This error frequently occurs in IDA Pro's Python environment when a plugin (or a dependency like PyQt5, which `ida-settings` might use indirectly) relies on a DLL that the Python interpreter cannot find or load. This can stem from an incompatible Python version, a corrupted PyQt5 installation, or issues with system PATH variables.
fix
Verify that PyQt5 (and its dependencies) are correctly installed and compatible with the Python version IDA Pro is utilizing. In some cases, copying the `sip.pyd` file from your Python `site-packages/PyQt5` directory to IDA's internal `python/3/PyQt5` directory (or similar) can resolve the issue. Ensure IDA Pro is configured to use a stable and well-configured Python environment via `idapyswitch.exe`.
KeyError: 'your_setting_key_name'
A plugin is attempting to retrieve a configuration setting using `ida_settings.get_current_plugin_setting('your_setting_key_name')`, but the specified key does not exist or has not been defined for the current plugin in its `ida-plugin.json` file or through the `hcli` tool.
fix
Ensure that the setting 'your_setting_key_name' is declared in the plugin's `ida-plugin.json` file with a default value, or that it has been set by the user using the `hcli` command-line tool or IDA Pro's 'Plugin Settings Manager' GUI.
Upgrade
Version history
3.4.1latest on PyPI · released May 19, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
4 hits · last 30 days
node
4
Resources
ida-settings — pip install ida-settings · libregistry