# object-symbols-parser
A command-line tool that reads symbol tables from object files and generates a sorted spreadsheet report
of symbols. This is especially useful in embedded development when optimizing code size and memory usage
is critical.
## Usage
### Object File
If your binary fails to compile due to code space constraints, this tool helps
you identify large symbols by reading one or more object files and generating a
sorted symbol table spreadsheet.
```bash
object_symbols_parser -f src/FileSystem.o -f src/cpp_config.o -f src/main.o -o /tmp/out.xlsx
```
### ELF/AXF File
You can also provide a single ELF or AXF binary file:
```{bash}
object_symbols_parser -f project.axf -o /tmp/out.xlsx
```
## Output
The tool aggregates symbol information into a Pandas DataFrame and writes it to an Excel .xlsx file.
By default, the symbols are sorted by section type and size, so you can quickly identify the
largest entries consuming your code or data space.

## Requirements
+ Python packages: click, pandas
+ GNU Binutils (objdump must be installed and in your system path or toolchain directory)
Raw data
{
"_id": null,
"home_page": null,
"name": "object-symbols-parser",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "object_symbols_parser, embedded, mcu, arm, binary, elf",
"author": null,
"author_email": "Simon Hobbs <simon.hobbs@electrooptical.net>",
"download_url": "https://files.pythonhosted.org/packages/a5/55/c642b237e95edf177db9558af1f25bf72e860b4cef4cd32fa0e8f548f3bf/object_symbols_parser-0.1.2.tar.gz",
"platform": null,
"description": "# object-symbols-parser\n\nA command-line tool that reads symbol tables from object files and generates a sorted spreadsheet report\nof symbols. This is especially useful in embedded development when optimizing code size and memory usage\nis critical.\n\n## Usage\n### Object File\nIf your binary fails to compile due to code space constraints, this tool helps\nyou identify large symbols by reading one or more object files and generating a\nsorted symbol table spreadsheet.\n\n```bash\nobject_symbols_parser -f src/FileSystem.o -f src/cpp_config.o -f src/main.o -o /tmp/out.xlsx\n```\n\n### ELF/AXF File\nYou can also provide a single ELF or AXF binary file:\n\n```{bash}\nobject_symbols_parser -f project.axf -o /tmp/out.xlsx\n```\n\n## Output\nThe tool aggregates symbol information into a Pandas DataFrame and writes it to an Excel .xlsx file.\nBy default, the symbols are sorted by section type and size, so you can quickly identify the\nlargest entries consuming your code or data space.\n\n\n\n## Requirements\n+ Python packages: click, pandas\n+ GNU Binutils (objdump must be installed and in your system path or toolchain directory)\n",
"bugtrack_url": null,
"license": null,
"summary": "Object symbol table wrangler. Useful for finding static memory and code size usage in embedded systems.",
"version": "0.1.2",
"project_urls": {
"github": "https://github.com/snhobbs/object_symbols_parser"
},
"split_keywords": [
"object_symbols_parser",
" embedded",
" mcu",
" arm",
" binary",
" elf"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7265580270077fcf026a118f421bdfafe183aa276b0b028f236f79756a69b689",
"md5": "08e44ca4f1a204a47ef44304ff5a31b4",
"sha256": "5c05702eec2107cfcce8918a7be916bbd2ec8812fa2705277576f7d8e027ae6c"
},
"downloads": -1,
"filename": "object_symbols_parser-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "08e44ca4f1a204a47ef44304ff5a31b4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 6139,
"upload_time": "2025-07-27T18:20:43",
"upload_time_iso_8601": "2025-07-27T18:20:43.948013Z",
"url": "https://files.pythonhosted.org/packages/72/65/580270077fcf026a118f421bdfafe183aa276b0b028f236f79756a69b689/object_symbols_parser-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a555c642b237e95edf177db9558af1f25bf72e860b4cef4cd32fa0e8f548f3bf",
"md5": "5f248cff96e9db6ca9ddb14daa1fee38",
"sha256": "0193ad37d6260694c2c438f7fe739f7067eb4d3551f55a85ffec560a96a862c1"
},
"downloads": -1,
"filename": "object_symbols_parser-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "5f248cff96e9db6ca9ddb14daa1fee38",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 130794,
"upload_time": "2025-07-27T18:20:45",
"upload_time_iso_8601": "2025-07-27T18:20:45.640917Z",
"url": "https://files.pythonhosted.org/packages/a5/55/c642b237e95edf177db9558af1f25bf72e860b4cef4cd32fa0e8f548f3bf/object_symbols_parser-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-27 18:20:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "snhobbs",
"github_project": "object_symbols_parser",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pandas",
"specs": []
},
{
"name": "click",
"specs": []
}
],
"lcname": "object-symbols-parser"
}