Vector35 / Vector35/binaryninja-api

Provide better UX when user's python version has changed.

Open
#4,100 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: UI Effort: Low Impact: Low UI: Python Console
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

When a user updates the python version that BinaryNinja points to the failure condition can be confusing. We do provide an error in the log but that can be subtle and hidden by other errors on the system.

Recommended remediation:
If the python can't be found still let the python console pop up but disabled. Add some text to the effect of:

Unable to identify the libpython: "/usr/local/lib/libpython3.9.so"  

Bonus points: @toolCHAINZ suggested we should throw the settings drop down for selecting the python interpreter right there in the widget for even better UX.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure after changing the Python version Binary Ninja points to, then trace how the Python console handles an unidentified libpython such as "/usr/local/lib/libpython3.9.so". Done means the console still opens in a disabled state with a visible error, with the interpreter-selection settings available if that bonus behavior is implemented.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
desktop, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.