--- id: mapfile-parser version: "2.13.0" license: unclear license_treatment: unclear maintenance: active --- # mapfile_parser — Map file parser library focusing decompilation projects License: unclear · Maintenance: active · Downloads: 207.5K/mo ## What it is and what it does mapfile_parser is a Rust-backed Python library for parsing linker map files generated by GNU ld, clang lld, and Metrowerks ld. It extracts symbol tables, addresses, and size information from compiled binaries—data essential for reverse-engineering and decompilation workflows. The library ships with multiple CLI utilities (bss_check, jsonify, pj64_syms, objdiff_report, progress, sym_info, symbol_sizes_csv, upload_frogress) that automate common analysis tasks on parsed map data. The package depends on requests and decomp-settings, and is designed to integrate with decompilation project workflows, particularly those using the decomp.yaml configuration format. It supports modern Python versions (3.8+) via prebuilt wheels across many architectures, reducing installation friction despite its compiled extension. Use it for: - Extract symbol tables and addresses from compiled ROM or binary map files for reverse-engineering projects. - Track decompilation progress by comparing matched functions against .NON_MATCHING markers in map files. - Generate symbol maps compatible with emulators (e.g., PJ64) from linker output. - Analyze binary size distribution and symbol metadata via CSV or JSON export. - Integrate map parsing into automated build pipelines for decompilation projects using decomp.yaml config. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parses compiled binary map files (GNU ld, clang lld, Metrowerks ld formats) and provides CLI tools to extract symbol information, progress tracking, and metadata for decompilation projects. Yes, if you are working on a decompilation or reverse-engineering project that needs to parse linker map files. The active maintenance, broad architecture support, and built-in CLI utilities make it a practical choice. However, verify the license terms first, as they are not clearly documented in the package metadata. ## Install pip install mapfile-parser uv add mapfile-parser poetry add mapfile-parser ## Installing mapfile_parser Before you install: Medium install friction due to compiled Rust bindings, but wheels are available for modern Python versions (3.8+) across common architectures. Active maintenance with recent releases. License in practice: License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or restricted contexts. Quickstart: pip install mapfile_parser import mapfile_parser # Parse a map file and access symbols map_data = mapfile_parser.parse_file('path/to/map.map') # Or use CLI: mapfile_parser jsonify input.map output.json Requires Python 3.8 or later; compiled Rust extension may require build tools on platforms without prebuilt wheels. Verify before relying: - Exact license terms and whether they permit commercial or proprietary use - Whether requests and decomp-settings are required at runtime or only for specific CLI utilities - Performance characteristics and typical map file size limits ## Package facts - License: not declared (unclear) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 207.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags map file parser, binary symbol extraction, decompilation tooling, ld map file parsing, symbol table analysis, ROM decompilation, linker map processing, decompilation, binary-analysis, rust-extension [View on SkillFed](https://skillfed.io/packages/mapfile-parser) · [View on PyPI](https://pypi.org/project/mapfile-parser/)