--- id: pyxdia version: "0.1.1" license: Copyright 2024 Matt Borgerson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the… (full text in the JSON record) license_treatment: unclear maintenance: active --- # pyxdia — Extract useful program information from PDB files License: unclear · Maintenance: active · Downloads: 279.1K/mo ## 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 above — verify before relying. pyxdia extracts program metadata and symbol information from PDB (Program Database) files, enabling analysis of compiled binaries across Windows, macOS, and Linux. 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 pip install pyxdia uv add pyxdia poetry add pyxdia ## Installing pyxdia 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. 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']) Requires Python 3.12 or later; wheels include prebuilt binaries for macOS (Intel/ARM), Linux (x86_64/aarch64), and Windows (x86_64). 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: Copyright 2024 Matt Borgerson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the… (full text in the JSON record) (unclear) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 279.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags pdb file parser, extract program symbols, debug information extraction, binary metadata analysis, pdb reader library, program database parser, binary-analysis, debug-symbols, reverse-engineering [View on SkillFed](https://skillfed.io/packages/pyxdia) · [View on PyPI](https://pypi.org/project/pyxdia/)