Name | gbl-ninja JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | Python library for parsing and creating GBL (Gecko Bootloader) files |
upload_time | 2025-07-09 07:48:55 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.6 |
license | MIT |
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"
}