{"id":19975835,"url":"https://github.com/jfjlaros/bin-parser","last_synced_at":"2025-07-19T19:34:12.758Z","repository":{"id":34295596,"uuid":"38196138","full_name":"jfjlaros/bin-parser","owner":"jfjlaros","description":"General binary file parser.","archived":false,"fork":false,"pushed_at":"2021-03-10T15:34:38.000Z","size":287,"stargazers_count":25,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-08T02:48:11.136Z","etag":null,"topics":["binary","json","parser","yaml"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jfjlaros.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-06-28T11:17:49.000Z","updated_at":"2023-11-29T04:48:40.000Z","dependencies_parsed_at":"2022-09-03T01:06:32.728Z","dependency_job_id":null,"html_url":"https://github.com/jfjlaros/bin-parser","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jfjlaros/bin-parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfjlaros%2Fbin-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfjlaros%2Fbin-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfjlaros%2Fbin-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfjlaros%2Fbin-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jfjlaros","download_url":"https://codeload.github.com/jfjlaros/bin-parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfjlaros%2Fbin-parser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264697472,"owners_count":23650951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary","json","parser","yaml"],"created_at":"2024-11-13T03:20:29.805Z","updated_at":"2025-07-19T19:34:12.717Z","avatar_url":"https://github.com/jfjlaros.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"General binary file parser\n==========================\n\n[![image](https://img.shields.io/github/last-commit/jfjlaros/bin-parser.svg)](https://github.com/jfjlaros/bin-parser/graphs/commit-activity)\n[![image](https://github.com/jfjlaros/bin-parser/actions/workflows/python-package.yml/badge.svg)](https://github.com/jfjlaros/bin-parser/actions/workflows/python-package.yml)\n[![image](https://readthedocs.org/projects/bin-parser/badge/?version=latest)](https://bin-parser.readthedocs.io/en/latest)\n[![image](https://img.shields.io/github/release-date/jfjlaros/bin-parser.svg)](https://github.com/jfjlaros/bin-parser/releases)\n[![image](https://img.shields.io/github/release/jfjlaros/bin-parser.svg)](https://github.com/jfjlaros/bin-parser/releases)\n[![image](https://img.shields.io/pypi/v/bin-parser.svg)](https://pypi.org/project/bin-parser/)\n[![image](https://img.shields.io/npm/v/bin-parser.svg)](https://www.npmjs.com/package/bin-parser)\n[![image](https://img.shields.io/github/languages/code-size/jfjlaros/bin-parser.svg)](https://github.com/jfjlaros/bin-parser)\n[![image](https://img.shields.io/github/languages/count/jfjlaros/bin-parser.svg)](https://github.com/jfjlaros/bin-parser)\n[![image](https://img.shields.io/github/languages/top/jfjlaros/bin-parser.svg)](https://github.com/jfjlaros/bin-parser)\n[![image](https://img.shields.io/github/license/jfjlaros/bin-parser.svg)](https://raw.githubusercontent.com/jfjlaros/bin-parser/master/LICENSE.md)\n[![image](https://zenodo.org/badge/DOI/10.5281/zenodo.1295625.svg)](https://zenodo.org/record/1295625)\n[![image](http://joss.theoj.org/papers/10.21105/joss.00766/status.svg)](https://doi.org/10.21105/joss.00766)\n\n------------------------------------------------------------------------\n\nThis library provides general binary file parsing by interpreting\ndocumentation of a file structure and data types. By default, it\nsupports basic data types like big-endian and little-endian integers,\nfloats and doubles, variable length (delimited) strings, maps and bit\nfields (flags) and it can iterate over sub structures. Other data types\nare easily added.\n\nThe file structure and the types are stored in nested dictionaries. The\nstructure is separated from the types, this way multiple file formats\nusing the same types (within one project for example) can be easily\nsupported without much duplication.\n\nThe design of the library is such that all operations can be reversed.\nThis means that fully functional binary editing is possible using this\nimplementation; first use the reader to convert a binary file to a\nserialised dictionary representation, this representation is easily\nedited using a text editor, and then use the writer to convert back to\nbinary.\n\nThis idea is implemented in two languages; Python and JavaScript. All\nmain development is done in Python. We chose YAML as our preferred\nserialised dictionary format, but other serialisation formats (JSON for\nexample) can be used too.\n\nPlease see\n[ReadTheDocs](https://bin-parser.readthedocs.io/en/latest/index.html)\nfor the latest documentation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfjlaros%2Fbin-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjfjlaros%2Fbin-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfjlaros%2Fbin-parser/lists"}