gbl-ninja


Namegbl-ninja JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryPython library for parsing and creating GBL (Gecko Bootloader) files
upload_time2025-07-09 07:48:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6
licenseMIT
keywords gbl gecko bootloader silicon-labs firmware
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GBL Python Library

This is a Python library for parsing and creating GBL files.

## Features

*   **Parse GBL files:** Read and parse GBL files into a list of tag objects.
*   **Create GBL files:** Programmatically create GBL files using a builder pattern.
*   **Encode GBL files:** Encode a list of tag objects into a byte array.

## Usage

### Parsing a GBL File

```python
from gbl import Gbl, ParseResultSuccess, ParseResultFatal

gbl = Gbl()

with open('firmware.gbl', 'rb') as f:
    data = f.read()

result = gbl.parse_byte_array(data)

if isinstance(result, ParseResultSuccess):
    tags = result.result_list
    for tag in tags:
        print(f'Found tag: {tag.tag_type.name}')
elif isinstance(result, ParseResultFatal):
    print(f'Error parsing GBL file: {result.error}')
```

### Creating a GBL File

```python
from gbl import Gbl

builder = Gbl.GblBuilder.create()
builder.application()
builder.prog(0x1000, b'\x01\x02\x03')

gbl_bytes = builder.build_to_byte_array()

with open('new_firmware.gbl', 'wb') as f:
    f.write(gbl_bytes)
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gbl-ninja",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "gbl, gecko, bootloader, silicon-labs, firmware",
    "author": null,
    "author_email": "GBL Ninja <contact@gblninja.com>",
    "download_url": "https://files.pythonhosted.org/packages/6a/eb/22fd4228641ad72f9f617221c83144863e05075f0d1de6db9eccfd9b6aca/gbl_ninja-1.0.0.tar.gz",
    "platform": null,
    "description": "# GBL Python Library\r\n\r\nThis is a Python library for parsing and creating GBL files.\r\n\r\n## Features\r\n\r\n*   **Parse GBL files:** Read and parse GBL files into a list of tag objects.\r\n*   **Create GBL files:** Programmatically create GBL files using a builder pattern.\r\n*   **Encode GBL files:** Encode a list of tag objects into a byte array.\r\n\r\n## Usage\r\n\r\n### Parsing a GBL File\r\n\r\n```python\r\nfrom gbl import Gbl, ParseResultSuccess, ParseResultFatal\r\n\r\ngbl = Gbl()\r\n\r\nwith open('firmware.gbl', 'rb') as f:\r\n    data = f.read()\r\n\r\nresult = gbl.parse_byte_array(data)\r\n\r\nif isinstance(result, ParseResultSuccess):\r\n    tags = result.result_list\r\n    for tag in tags:\r\n        print(f'Found tag: {tag.tag_type.name}')\r\nelif isinstance(result, ParseResultFatal):\r\n    print(f'Error parsing GBL file: {result.error}')\r\n```\r\n\r\n### Creating a GBL File\r\n\r\n```python\r\nfrom gbl import Gbl\r\n\r\nbuilder = Gbl.GblBuilder.create()\r\nbuilder.application()\r\nbuilder.prog(0x1000, b'\\x01\\x02\\x03')\r\n\r\ngbl_bytes = builder.build_to_byte_array()\r\n\r\nwith open('new_firmware.gbl', 'wb') as f:\r\n    f.write(gbl_bytes)\r\n```\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python library for parsing and creating GBL (Gecko Bootloader) files",
    "version": "1.0.0",
    "project_urls": {
        "Documentation": "https://github.com/Onix-Systems/GBL-NINJA-SDK-Multiplatform#readme",
        "Homepage": "https://github.com/Onix-Systems/GBL-NINJA-SDK-Multiplatform",
        "Issues": "https://github.com/Onix-Systems/GBL-NINJA-SDK-Multiplatform/issues",
        "Repository": "https://github.com/Onix-Systems/GBL-NINJA-SDK-Multiplatform"
    },
    "split_keywords": [
        "gbl",
        " gecko",
        " bootloader",
        " silicon-labs",
        " firmware"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0e782d4f25e168396389ca74ba7eec852edc1c2f717ab6576d3dcd81d0702c6a",
                "md5": "027ca883e17191341d8a5de16e370490",
                "sha256": "2c557c876a73fdc62f0aabe29fc305064b2eb60a976feabc6e078f567d27d9dd"
            },
            "downloads": -1,
            "filename": "gbl_ninja-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "027ca883e17191341d8a5de16e370490",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 8809,
            "upload_time": "2025-07-09T07:48:54",
            "upload_time_iso_8601": "2025-07-09T07:48:54.116928Z",
            "url": "https://files.pythonhosted.org/packages/0e/78/2d4f25e168396389ca74ba7eec852edc1c2f717ab6576d3dcd81d0702c6a/gbl_ninja-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6aeb22fd4228641ad72f9f617221c83144863e05075f0d1de6db9eccfd9b6aca",
                "md5": "ca2fd33ea325d289f8ae1f2400737f9b",
                "sha256": "d810e93ae5b5d218ba2bbd47ac79c259c69580cd49c1ac13c4cd210eb23b4abf"
            },
            "downloads": -1,
            "filename": "gbl_ninja-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ca2fd33ea325d289f8ae1f2400737f9b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 8943,
            "upload_time": "2025-07-09T07:48:55",
            "upload_time_iso_8601": "2025-07-09T07:48:55.421010Z",
            "url": "https://files.pythonhosted.org/packages/6a/eb/22fd4228641ad72f9f617221c83144863e05075f0d1de6db9eccfd9b6aca/gbl_ninja-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 07:48:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Onix-Systems",
    "github_project": "GBL-NINJA-SDK-Multiplatform#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gbl-ninja"
}
        
Elapsed time: 0.46676s