This tool provides a graphical user interface (GUI) to explore EDB (Electronic Database) files using PyEDB. It allows you to inspect objects, properties, methods, and interact with the EDB through a Python console.
To set up the development environment and install the necessary dependencies, follow these steps:
-
Run the Installation Script: The installation scripts (
install.batfor Windows,install.shfor Linux) will automatically check for and installuv(a fast Python package installer and manager) if it's not found on your system. It will then create a Python virtual environment (.venv) if it doesn't exist and install all required packages (includingpyedbandpywebview). If the.venvalready exists, it will update the dependencies.-
Windows: Navigate to the project directory in your terminal and execute
install.bat:install.bat
-
Linux: Navigate to the project directory in your terminal, make the script executable, and then run
install.sh:chmod +x install.sh ./install.sh
-
Once the installation is complete, you can launch the EDB Explorer GUI:
-
Launch the GUI:
-
Windows: Execute
run.batfrom the project directory:run.bat
This will open the EDB Explorer window without a console window.
-
Linux: Navigate to the project directory in your terminal, make the script executable, and then run
run.sh:chmod +x run.sh ./run.sh
This will launch the EDB Explorer in the background.
-
-
Initial EDB Loading:
- The application will attempt to load
pcb.aedbby default. - It will try various AEDT versions (e.g., '2024.1', '2024.2', up to the current year) to find a compatible installation.
- A successful version will be saved in
config.jsonfor faster loading in the future.
- The application will attempt to load
-
GUI Layout:
- Left Panel: Displays "Global Variables" (the loaded
edbobject and variables from the console). - Center Panel: Shows "Object Details" (type, value, and formatted docstring) for the currently selected object. The docstring panel will dynamically fill available space.
- Right Panel: Displays "Members / Inspector" (properties and methods) of the selected object. It includes a regex filter input to search through members.
- Bottom Panel: A "Python Console" for interactive code execution. Its visibility can be toggled.
- Left Panel: Displays "Global Variables" (the loaded
-
Interacting with Objects:
-
Select an Object: Click on an object in the "Global Variables" tree to display its details in the Center Panel and its members in the Right Panel. The object's path will appear in the "Target" input field.
-
Navigate Members: Click on a property or method in the "Members / Inspector" panel to append it to the "Target" input and inspect it further.
-
Undo/Redo Navigation: Use the "Undo" and "Redo" buttons (to the right of the "Target" input) to navigate through your inspection history.
-
Filter Members: Use the regex input field in the "Members / Inspector" panel to filter the displayed properties and methods.
-
Context Menu: Right-click on any item in the "Members / Inspector" list to access options:
- Print to Console: Prints the item's value to the Python console.
- Copy to Clipboard: Copies the item's value to your clipboard.
-
-
Loading EDB Files:
- Import: Click the "Import" button to open a file dialog and select a different
.aedbfolder to load. - Reload: Click the "Reload" button to close the current EDB and reload it. This is useful if the EDB file has changed externally. Each time a new EDB is loaded (via Import or Reload),
edb.close_edb()is called to release resources.
- Import: Click the "Import" button to open a file dialog and select a different
-
Python Console:
-
Toggle Visibility: Click the "Console" button in the top bar to show or hide the console panel.
-
Type Python code into the input field at the bottom.
-
Press
Enterto execute. (UseShift+Enterfor multi-line input without immediate execution). -
Output and errors will be displayed in the console output area.
-
Copy Output: You can select text in the console output and copy it using
Ctrl+Cor the context menu. -
Variables defined in the console (e.g.,
my_var = 123) will appear in the "Global Variables" panel after execution.
-
-
Tunable Panel Borders:
- Drag the gray separator lines between the Left/Center, Center/Right panels, as well as between the main content and the console, to adjust their sizes.
- Your preferred panel dimensions are automatically saved to
config.jsonand restored on startup.
Configuration Persistence: Most user preferences, including AEDT version and panel sizes, are saved in config.json.