{"adoption": {"forks": 572, "observed_at": "2026-08-28T04:08:52.996017+00:00", "stars": 4532}, "canonical_url": "https://ross.abutalabs.com/products/interactivehtmlbom", "card": {"archived": false, "artifact_type": "plugin", "description": "Interactive HTML BOM generation plugin for KiCad, EasyEDA, Eagle, Fusion360 and Allegro PCB designer", "domain": ["hardware", "developer-tools"], "enriched": true, "function": ["data-visualization", "developer-tools"], "health_score": 94, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["openscopeproject/InteractiveHtmlBom"], "name": "openscopeproject/InteractiveHtmlBom", "platform": ["python", "cross-platform"], "pushed_at": "2026-07-12T01:14:05+00:00", "repo": "openscopeproject/InteractiveHtmlBom", "stars": 4532, "tags": ["kicad", "pcb", "bom", "electronics", "eagle", "easyeda", "fusion360", "allegro", "interactive-html", "desktop"], "topics": ["kicad", "pcbnew", "action-plugin", "bom-tool", "pcb"], "urls": [], "use_cases": ["generate an interactive BOM for a KiCad PCB project", "find component locations on a board while hand-soldering a prototype", "reverse lookup a component group by clicking a footprint on the board drawing", "share a self-contained BOM page with project documentation without internet access", "import extra BOM columns like manufacturer part numbers from netlist or XML files", "highlight nets on the PCB layout dynamically"], "what_it_is": "A plugin that generates interactive, self-contained HTML Bill of Materials pages for PCB designs from KiCad, EasyEDA, Eagle, Fusion360, and Allegro. It lets users visually correlate components with their placements on the board, search and group parts, and highlight nets dynamically.", "when_to_avoid": ["you need CSV/Excel BOM export for purchasing rather than interactive visualization", "your EDA tool is not among the supported formats", "you need automated BOM generation in a headless CI pipeline without a GUI EDA environment"], "when_to_choose": ["you need a visual, searchable BOM tied to PCB placement for hand assembly or inspection", "you use KiCad, EasyEDA, Eagle, Fusion360, or Allegro and want a shareable offline HTML output", "you want configurable BOM grouping and extra columns from schematic data"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/interactivehtmlbom", "repo": "openscopeproject/InteractiveHtmlBom", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:52.996017+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:20:12.531916+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dff1c7cf06d4e9caab04032e1bca648eae2eade5e17ee96131e80d305e31b49f", "fetched_at": "2026-08-28T04:08:52.996017+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openscopeproject/InteractiveHtmlBom"}, {"content_hash": "61aaa472eaf1420531d2c3ab5145b8d57cd1a2e443fbf9be69f1a4fce81ae21c", "fetched_at": "2026-08-29T09:05:56.135199+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/interactivehtmlbom/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 73}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2961, "days_push": 53, "days_rel": 101, "gap_med": 53, "n_releases_24m": 4}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}