{"id":19734728,"url":"https://github.com/leoheck/kiri","last_synced_at":"2025-05-15T12:05:12.783Z","repository":{"id":37847080,"uuid":"347776918","full_name":"leoheck/kiri","owner":"leoheck","description":"Kiri is a visual tool designed for reviewing schematics and layouts of KiCad projects that are version-controlled with Git.","archived":false,"fork":false,"pushed_at":"2025-04-02T12:11:55.000Z","size":4766,"stargazers_count":556,"open_issues_count":5,"forks_count":38,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-04-14T22:19:46.732Z","etag":null,"topics":["diff","kicad","kicad-5","kicad-6","kicad-7","kicad-8","kicad-cli","kicad-diff","kidiff","kiri","layout","plotgitsch","plotkicadsh","schematic","visual-diff"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/leoheck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2021-03-14T23:09:51.000Z","updated_at":"2025-04-11T18:43:57.000Z","dependencies_parsed_at":"2023-02-19T10:31:03.910Z","dependency_job_id":"d9dc3c4d-3095-4f09-85a3-ed8f44856333","html_url":"https://github.com/leoheck/kiri","commit_stats":{"total_commits":963,"total_committers":20,"mean_commits":48.15,"dds":"0.025960539979231534","last_synced_commit":"aab3b45ae5a8cc7f5a9df428816ddbdeaf4a366c"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoheck%2Fkiri","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoheck%2Fkiri/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoheck%2Fkiri/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoheck%2Fkiri/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leoheck","download_url":"https://codeload.github.com/leoheck/kiri/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337612,"owners_count":22054253,"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":["diff","kicad","kicad-5","kicad-6","kicad-7","kicad-8","kicad-cli","kicad-diff","kidiff","kiri","layout","plotgitsch","plotkicadsh","schematic","visual-diff"],"created_at":"2024-11-12T00:39:23.373Z","updated_at":"2025-05-15T12:05:07.751Z","avatar_url":"https://github.com/leoheck.png","language":"Shell","readme":"# KiCad Revision Inspector (KiRI)\n\nKiRI started as a script to experiment having a visual diff tool for KiCad projects including schematics and layouts.\nAfter some time, it became an interesting and it is still being updated.\n\nCurrently, KiRi supports KiCad \u003e= 5.\n\nInternally it uses existing tools to generate svg images of schematics and layouts to be compared.\n\nIn this way, when exporting schematics, if:\n\n- KiCad 7/8 is installed, the `kicad-cli` is used.\n- KiCad 6 is installed (which does not have `kicad-cli` available), schematics are exported using [xdotool](https://github.com/jordansissel/xdotool) on Linux/Windows and [cliclick](https://github.com/BlueM/cliclick) on macOS, using the GUI. This method is far from the ideal and it is not recommended.\n- KiCad 5 is installed or if the projects is based on KiCad 5, [plotkicadsch/plotgitsch](https://github.com/jnavila/plotkicadsch) are used to export the schematics.\n\nHowever, when exporting the layout layers:\n\n- [Kicad-Diff](https://github.com/Gasman2014/KiCad-Diff) is used for all supported KiCad versions using `pcbnew` library available in python. It is also possible to use `kicad-cli` to export the layout layers however this process is slower than using Kicad-Diff.\n\n\n## KiRI Installation\n\nCheck the Installation instructions, [here](INSTALL.md).\n\n\n## Using KiRI\n\nKiRI can be launched with the following command, anywhere, inside or outside of the repository of the project.\n\n```bash\nkiri [OPTIONS] [KICAD_PROJECT_FILE]\n```\n\n`KICAD_PROJECT_FILE` can be passed, but it can also be omitted. If running from inside the project's repository, it will use the `.pro` or `.kicad_pro` available. If both are present (which is not good), it will ask your choice. The same happens is running outside of the repository without passing the `KICAD_PROJECT_FILE`.\n\n\n## Command line options (aka Help)\n\nCommand line flags can be seen using the `-h` flag\n```bash\nkiri -h\n```\n\n### Archiving generated files\n\nThere is a possibility to archive generated files (check the help above).\n\nTo visualize generated files it is not necessary to have KiRI installed. You just have to unpack the generated package and then execute the web-server script (`./kiri-server`) inside of the folder, as shown below:\n\n```bash\ntar -xvzf kiri-2021.11.18-16h39.tgz\ncd kiri\n./kiri-server .\n```\n\n# KiCad Integration\n\nIt is possible to integrate KiRI with PCBNew by adding a button to its toolbar with the following command:\n\n```bash\n# Create folder if it does not exist\nmkdir -p \"~/.kicad/scripting/plugins\"\n\n# Copy the plugin there\ncd ./kiri\ncp -r \"./kicad/plugin/kiri_v6/\" \"~/.kicad/scripting/plugins/kiri\"\n```\n\n# KiRI Screenshots\n\nBrowsing the schematic view walking through and comparing each page of the schematics, individually.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"misc/kiri_sch.png\" width=\"820\" alt=\"Schematic View\"\u003e\n\u003c/p\u003e\n\nBrowsing the layout view walking through and comparing each layer of the layout, individually.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"misc/kiri_pcb.png\" width=\"820\" alt=\"Layout View\"\u003e\n\u003c/p\u003e\n\nHere is the comparison of the schematics when the project is updated from using KiCad 5 (`.sch`) to KiCad 6 (`.kicad_sch`).\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"misc/kicad_sch_v6.png\" width=\"820\" alt=\"Layout View\"\u003e\n\u003c/p\u003e\n\nShortcuts are a really good way of walking through the commits, pages and layers quickly. Check the available shortcuts by hitting the shortcut `i`.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"misc/shortcuts.png\" width=\"820\" alt=\"Layout View\"\u003e\n\u003c/p\u003e\n\nA quick and old demo on the Youtube.\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://youtu.be/zpssGsvCgi0\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.youtube.com/vi/zpssGsvCgi0/maxresdefault.jpg\" alt=\"KiCad Revision Inspector Demo\" width=\"820\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\nAre you enjoying using this tool, feel free to pay me a beer :). Cheers!\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.paypal.com/donate/?hosted_button_id=EPV73V7C5N4CJ\"\u003e\u003cimg src=\"misc/donate_btn.gif\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n","funding_links":["https://www.paypal.com/donate/?hosted_button_id=EPV73V7C5N4CJ"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleoheck%2Fkiri","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleoheck%2Fkiri","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleoheck%2Fkiri/lists"}