object-symbols-parser


Nameobject-symbols-parser JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryObject symbol table wrangler. Useful for finding static memory and code size usage in embedded systems.
upload_time2025-07-27 18:20:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords object_symbols_parser embedded mcu arm binary elf
VCS
bugtrack_url
requirements pandas click
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

![image](blinky_objects.png)

## 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![image](blinky_objects.png)\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"
}
        
Elapsed time: 2.03358s