{"id":17104679,"url":"https://github.com/imyelo/pyro","last_synced_at":"2026-05-11T06:05:42.777Z","repository":{"id":148837834,"uuid":"127426974","full_name":"imyelo/pyro","owner":"imyelo","description":":fire: An indexed data burning tool designed for humans","archived":false,"fork":false,"pushed_at":"2018-08-21T13:04:38.000Z","size":1566,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-29T03:51:10.765Z","etag":null,"topics":["burner","csv","electron","hardware","nodejs","persistence","pyro","serialport","vue","vuex"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imyelo.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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}},"created_at":"2018-03-30T12:41:04.000Z","updated_at":"2018-08-21T12:56:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"81df6031-68ec-4af4-9857-fadefe995da9","html_url":"https://github.com/imyelo/pyro","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyelo%2Fpyro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyelo%2Fpyro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyelo%2Fpyro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyelo%2Fpyro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imyelo","download_url":"https://codeload.github.com/imyelo/pyro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245162190,"owners_count":20570692,"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":["burner","csv","electron","hardware","nodejs","persistence","pyro","serialport","vue","vuex"],"created_at":"2024-10-14T15:37:45.171Z","updated_at":"2026-05-11T06:05:42.713Z","avatar_url":"https://github.com/imyelo.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"./_medias/logo.png\" width=\"50%\"\u003e\u003c/p\u003e\n\n# PYRO\n\u003e :fire: An indexed data burning tool designed for humans\n\n\n## Download\n- [The latest version](https://github.com/imyelo/pyro/releases/latest)\n- [Other versions](https://github.com/imyelo/pyro/releases)\n\n## Screenshot\n[![screenshot](./_medias/screenshots/all.png)](./_medias/screenshots/)\n\n## Tech Stack\nDriven by these awesome projects:\n\n- [Electron](https://electronjs.org/)\n- [serialport](https://github.com/node-serialport/node-serialport)\n- [Vue.js](https://vuejs.org/)\n- [Vuex](https://vuex.vuejs.org/)\n- [vuex-persistedstate](https://github.com/robinvdvleuten/vuex-persistedstate)\n- [electron-store](https://github.com/sindresorhus/electron-store)\n- [node-csv](https://github.com/adaltas/node-csv)\n- [axios](https://github.com/axios/axios)\n- [...and more](./package.json)\n\n## Get started\n### Setup\n1. Insert your burning board into the USB slot.\n2. Drop your csv into the app. For example, check [./test/fixtures/standard.csv](./test/fixtures/standard.csv).\n3. Select the correct serial port in the app.\n4. Fetch your adapter code from the network and save it. If you don't know how to use it, try [the default options](https://pastebin.com/raw/M0rNhW6h) we offer first.\n5. Now you're ready.\n\n### Burn\nWe recommend that you use the qrcode scanner and turn on the Auto-Return mode. The scanner can work perfectly for you with the Auto-Burn mode of Pyro.\n\nAfter you enter the identification of the device, the program will find the corresponding data for you from the data table, format and output to the specified serial port, complete the burning job.\n\n## Advanced\n### Adapter\nTo enable you to use pyro to burn any format of data into the hardware, we designed the Adapter model in pyro.\nYou can create an adapter of your own by implementing the following two methods:\n\n- format(data)\n- find(list, identity)\n\nFor example:\n\n```javascript\nexports.format = function (data) {\n  return JSON.stringify(data)\n}\n\nexports.find = function (list, identity) {\n  return list.find((item) =\u003e item.id === identity)\n}\n```\n\n## How to participate in contributing code\n### Required Softwares\n- Node.js \u003e= 8\n- NPM \u003e= 5.6\n\n### Installing dependencies\n```bash\nnpm i\n```\n\n### Developing\n```bash\nnpm run dev\n```\n\n### Building executable binary file\nFirst, the environment for a win32 platform is required, because we need to build a win32 binary executable (.exe) for our embedded engineer partners, who are used to working on the win32 environment.\n\nIf you don't, check [electron-userland/electron-builder : Multi platform build](https://www.electron.build/multi-platform-build).\n\nBuild it:\n\n```bash\nnpm run dist\n```\n\nOr if the above method fails:\n\n```bash\nnpm run dist:retry:win\n```\n\nThen check ``dist/pyro x.y.z.exe``.\n\nGood luck.\n\n## FAQ\n### Don't have permission to open a port in Linux\nWhen using Pyro in Linux, you are likely to receive an error that you do not have permission to open the port.\nIn this case, you can simply use ``sudo`` to elevator. However, we recommend that you get permissions by running Pyro as a ``dialout`` user group.\nFor example:\n\n```bash\n# add user to the dialout gorup\nsudo adduser $(whoami) dialout\n\n# change current group\nnewgrp dialout\n\n# launch Pyro in development mode\nnpm run dev\n```\n\nFor more information, see [node-serialport#1297](https://github.com/node-serialport/node-serialport/issues/1297).\n\n### How to clear cache?\nOn the win32 platform, you can clear the Pyro cache by deleting ``~/AppData/Roaming/pyro`` directory. For more information, see [sindresorhus/electron-store](https://github.com/sindresorhus/electron-store).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimyelo%2Fpyro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimyelo%2Fpyro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimyelo%2Fpyro/lists"}