117 Commits

Author SHA1 Message Date
Ryan Kurtz
79fe87452d GP-7104: Starting to remove stuff marked deprecated since 10.x (and
older)
2026-07-30 13:13:50 -04:00
Ryan Kurtz
817766af27 GP-0: Fixing PyGhidra application name on Linux, and a couple of other
PyGhidra tweaks (Closes #8362)
2026-07-24 12:28:49 -04:00
Ryan Kurtz
7008a9ce0f GP-7053: Adding Python typing_extensions module and using it in PyGhidra
for deprecation
2026-07-10 09:51:17 -04:00
Ryan Kurtz
d5ed9bf9bb GP-7032: PyGhidra now depends on JPype >=1.5.2, != 1.6.0, != 1.7.0 2026-07-01 12:29:03 -04:00
Ryan Kurtz
de9b1384e2 Merge remote-tracking branch 'origin/GP-6012_ryanmkurtz_jdk25' 2026-06-29 05:30:34 -04:00
Ryan Kurtz
d36e9af5a1 GP-7001: PyGhidra doesn't swallow GhidraScript exceptions anymore 2026-06-24 06:13:45 -04:00
Ryan Kurtz
5b744690ad GP-6948: Improved error messages when pyghidra_launcher.py sees that
venv or pip isn't installed
2026-06-10 10:44:47 -04:00
Ryan Kurtz
f6f685f7fa Merge remote-tracking branch
'origin/GP-6664_ryanmkurtz_pyghidra-exceptions'
2026-06-09 14:21:28 -04:00
Ryan Kurtz
9311d06922 GP-6839: Always do "multi-platform" build 2026-06-01 09:27:11 -04:00
Ryan Kurtz
fdbc3abd3f Merge remote-tracking branch 'origin/patch' 2026-05-14 10:47:19 -04:00
Ryan Kurtz
7601b2cf63 GP-6825: Handling a possible NotADirectoryError in pyghidra_launcher.py 2026-05-14 08:36:24 -04:00
Ryan Kurtz
7219427f69 GP-6669: JsonDoclet now outputs public/private/protected, which Jython
and PyGhidra will display in help()
2026-04-16 19:25:14 -04:00
Ryan Kurtz
19ebad7d0d GP-6664: PyGhidra now outputs full Java stacktrace 2026-04-16 06:00:25 -04:00
Ryan Kurtz
56d072f13b GP-6580: Suppressing "java -version" output 2026-04-15 05:50:44 -04:00
Ryan Kurtz
64add1c0fa GP-6580: PyGhidra will now try to use the JAVA_HOME environment variable
to call LaunchSupport if java was not on the PATH
2026-03-19 09:06:53 -04:00
Ryan Kurtz
6f8100e585 GP-0: README update 2026-03-09 09:03:57 -04:00
fcrwr
49839645c7 Fix incorrect overriding of showsyntaxerror in PyConsole 2026-03-09 08:57:57 -04:00
Ryan Kurtz
35ac32e342 GP-0: Certify and README update 2026-03-09 08:42:20 -04:00
brandon
c0992425f0 Added py.typed to pyghidra 2026-03-09 08:39:33 -04:00
Ryan Kurtz
ee0accc44e Merge branch 'GP-0_ryanmkurtz_PR-8924_jstasiak_docs' 2026-02-06 05:51:35 -05:00
Jakub Stasiak
1231a520c0 Clarify the difference between ghidra and pyghidra imports
I got confused by the distinction and the differences a few times, I
figured it could be documented better.
2026-02-05 18:05:37 +01:00
Ryan Kurtz
3cda473a62 GP-0: Updating PyGhidra README.md 2026-02-03 12:28:15 -05:00
Alba Mendez
14c2495cb0 ghidra_launch.py: append JVM args in right order 2026-02-01 07:03:22 +01:00
Ryan Kurtz
ba6cc4a4ed Merge remote-tracking branch 'origin/patch' 2026-01-13 10:50:56 -05:00
Ryan Kurtz
c38915ebd1 Merge remote-tracking branch 'origin/GP-6284_ryanmkurtz_wheels' into patch 2026-01-13 10:45:44 -05:00
Ryan Kurtz
2a14ce7be4 Merge remote-tracking branch 'origin/patch' 2026-01-12 06:26:11 -05:00
Ryan Kurtz
03740023b7 GP-6301: PyGhidra 3.0.2 now uses TaskMonitor.DUMMY instead of
PyGhidraTaskMonitor if no timeout is specified (#8858)
2026-01-12 06:21:07 -05:00
Ryan Kurtz
4e8ff9e621 Merge remote-tracking branch 'origin/patch' 2026-01-08 12:40:23 -05:00
Ryan Kurtz
1acb4a37a0 GP-6301: PyGhidraTaskMonitor no longer hangs python session
(Closes #8858)
2026-01-08 12:30:06 -05:00
Ryan Kurtz
7ca96c7fd2 GP-6288: Updating PyGhidra README and version 2026-01-06 09:31:14 -05:00
Ryan Kurtz
d5b9582fd5 GP-6288: PyGhidra now by default restores sys.modules each time a script
is run, or the interactive interpreter is reset.

Can be disabled by uncommenting
"#VMARGS=-Dpyghidra.sys.modules.restore.disable=true" in
launch.properties if its found to cause problems.
2026-01-06 06:20:11 -05:00
Ryan Kurtz
0e0c92ea2e GP-6284: Upgrading wheels 2026-01-05 07:41:22 -05:00
Ryan Kurtz
6ef256cef1 Merge remote-tracking branch 'origin/patch' 2026-01-02 13:33:35 -05:00
Ryan Kurtz
d6b7bb8c74 GP-6283: Fixing PyGhidra API inadvertently squashing some exceptions 2026-01-02 13:30:05 -05:00
Ryan Kurtz
b485727aa2 Merge remote-tracking branch 'origin/patch' 2026-01-02 07:30:17 -05:00
Ryan Kurtz
89f487f65f GP-6283: PyGhidra 3.0.2 2026-01-02 07:28:00 -05:00
Ryan Kurtz
56252685c0 GP-6252: pyghidra_launcher.py fixes
pyghidra_launcher.py can now use an existing pyghidra
installation in an externally managed environment. Upgrading is disabled
in this scenario.

Fixed an issue with getting the package version from an arbitrary
environment
2025-12-19 07:35:45 -05:00
Ryan Kurtz
0ccff8ed76 Merge remote-tracking branch 'origin/patch' 2025-12-17 05:47:20 -05:00
Ryan Kurtz
fed6dd7864 GP-0: Fixing wrong output in pyghidra_launcher.py (Closes #8791) 2025-12-17 05:45:15 -05:00
Ryan Kurtz
2c7cae08a9 GP-6241: Formatting, README update, version bump 2025-12-17 05:08:45 -05:00
Stanley He
f93cc03f27 PyGhidra: Fix up __init__ typo for program_context 2025-12-17 04:59:22 -05:00
Ryan Kurtz
58e5c8e44c Merge remote-tracking branch 'origin/Ghidra_12.0' 2025-12-03 11:18:29 -05:00
Ryan Kurtz
5ab8d33592 GP-0: PyGhidra type hint fixes 2025-12-03 11:11:52 -05:00
Nicolas Iooss
fc0f971c39 Fix Python type annotations in PyGhidra module when using contextmanager
Verifying the type annotations used by PyGhidra with Mypy static type
checker leads to the following error:

    core.py:171: error: Argument 1 to "contextmanager" has incompatible
    type "Callable[[str | Path, str | Path, str, Any, str, str, str |
    JClass, str, Any], AbstractContextManager[Any, bool | None]]";
    expected "Callable[[str | Path, str | Path, str, Any, str, str, str
    | JClass, str, Any], Iterator[Never]]"  [arg-type]

Indeed, in Ghidra/Features/PyGhidra/src/main/py/src/pyghidra/core.py,
function open_program was declared to return a
ContextManager["FlatProgramAPI"]. While this function indeed returns
such a type, the implementation uses decorator @contextlib.contextmanager
which expects the wrapped function to return an generator (with yield).

Use Generator["FlatProgramAPI", None, None] to fix this.

While at it, fix other locations where the type annotation of the
function wrapped with contextmanager was incorrect.
2025-12-03 10:59:05 -05:00
Ryan Kurtz
a8a07b148e Merge remote-tracking branch 'origin/Ghidra_12.0' 2025-12-03 05:43:25 -05:00
Ryan Kurtz
a93de758f7 GP-6165: Changed JPype dependency to be fixed at version 1.5.2 to avoid
a possible Windows crash on 1.6.0
2025-12-03 05:33:51 -05:00
Ryan Kurtz
5e6c16073e GP-0: Renaming pyghidra.monitor() to pyghidra.task_monitor() to avoid
naming conflict with local monitor variables (Closes #8722)
2025-12-03 05:08:49 -05:00
Ryan Kurtz
09327173a4 Merge remote-tracking branch 'origin/Ghidra_12.0' 2025-11-24 05:45:29 -05:00
Ryan Kurtz
06ae0f5660 GP-0: Removing unneeded PyGhidra print 2025-11-24 05:42:35 -05:00
Ryan Kurtz
aabf436723 Merge remote-tracking branch 'origin/Ghidra_12.0' 2025-11-19 10:50:54 -05:00