pyxdia
Extract useful program information from PDB files
Decision gist · record as of 2026-08-14
Yes, if you need to parse PDB files from Python on non-Windows platforms or want a programmatic interface to symbol extraction. The bundled binaries and active maintenance make installation straightforward, but verify that the included binary licenses (xdia, Blink) align with your use case. The 0.1.1 version and small user base suggest treating it as a specialized tool rather than a production-critical dependency without additional vetting.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12 or later; wheels include prebuilt binaries for macOS (Intel/ARM), Linux (x86_64/aarch64), and Windows (x86_64).
- Medium install friction due to bundled native binaries (xdia executable and Blink emulator) included in wheels; active maintenance with recent commits, though the project is young with limited adoption signals.
License · maintenance · safety
(unclear) — pyxdia source is MIT-licensed, but wheels bundle additional binaries under separate licenses documented in *.LICENSE.txt files within the package; review those bundled licenses before use in proprietary or restricted environments.
last release 2026-06-16 (59 days) · last repo commit 2026-07-27 · 3 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 279,138 downloads/mo, #8,125 on PyPI
Alternatives
Verify before relying
from pyxdia import PDB
pdb = PDB("./program.pdb")
globals_list = pdb.globals
for global_sym in globals_list:
print(global_sym['name'], global_sym['addressOffset'])- Whether the bundled xdia binary and Blink emulator licenses are compatible with your intended use case
- Performance characteristics when parsing large or complex PDB files
- Stability guarantees given the 0.1.1 version number and early release date
What it is and what it does
pyxdia is a Python wrapper around xdia, a native tool for reading Windows PDB (Program Database) files. It provides cross-platform access to debug symbol information—function names, global variables, addresses, and metadata—that is normally locked into Windows-only tooling. The library bundles xdia as a native executable and uses a compatibility layer (xdialdr) plus the Blink emulator to run it on macOS and Linux, making PDB analysis accessible from Python on any major platform.
The package is designed for developers and reverse engineers who need to programmatically extract symbol tables and program structure from compiled binaries. It has no Python runtime dependencies, only the bundled native components. Installation is straightforward via pip, though the wheels are larger due to the included binaries. The project is actively maintained but young (first released in mid-2024), so production use should account for potential API changes.
Use it for
- Extract function and variable names from compiled Windows binaries for reverse engineering or security analysis
- Analyze debug symbols in PDB files to map addresses to source-level identifiers
- Automate symbol extraction in CI/CD pipelines for binary instrumentation or profiling workflows
- Build tools that depend on PDB metadata without requiring Windows-only debugging infrastructure
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to parse PDB files from Python on non-Windows platforms or want a programmatic interface to symbol extraction.
The bundled binaries and active maintenance make installation straightforward, but verify that the included binary licenses (xdia, Blink) align with your use case. The 0.1.1 version and small user base suggest treating it as a specialized tool rather than a production-critical dependency without additional vetting.
Install
pyxdia on PyPI
Before you install
Medium install friction due to bundled native binaries (xdia executable and Blink emulator) included in wheels; active maintenance with recent commits, though the project is young with limited adoption signals.
Requires Python 3.12 or later; wheels include prebuilt binaries for macOS (Intel/ARM), Linux (x86_64/aarch64), and Windows (x86_64).
License in practice
pyxdia source is MIT-licensed, but wheels bundle additional binaries under separate licenses documented in *.LICENSE.txt files within the package; review those bundled licenses before use in proprietary or restricted environments.
Quickstart
from pyxdia import PDB
pdb = PDB("./program.pdb")
globals_list = pdb.globals
for global_sym in globals_list:
print(global_sym['name'], global_sym['addressOffset'])
Verify before relying
- Whether the bundled xdia binary and Blink emulator licenses are compatible with your intended use case
- Performance characteristics when parsing large or complex PDB files
- Stability guarantees given the 0.1.1 version number and early release date
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 59 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 279,138 / month, #8,125 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: pyxdia-0.1.1-py3-none-macosx_13_0_x86_64.whl; pyxdia-0.1.1-py3-none-macosx_14_0_arm64.whl; pyxdia-0.1.1-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; pyxdia-0.1.1-py3-none-manylinux_2_28_aarch64.whl; pyxdia-0.1.1-py3-none-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pdb file parser”
- pyxdiapyxdia extracts program metadata and symbol information from PDB…
- mmtf-pythonDecodes and encodes the macromolecular transmission format (MMTF), a…
- mmcifProvides native Python and C++ bindings to parse, read, and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also ipsw-parser · pdbp · ipdb · pdbpp · web-pdb · flake8-debugger · pyobjc-framework-Symbols · pyvips-binary · pdbr · pdb-attach