{"adoption": {"forks": 142, "observed_at": "2026-08-28T04:04:34.642387+00:00", "stars": 1383}, "canonical_url": "https://ross.abutalabs.com/products/greaseweazle", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Tools for accessing a floppy drive at the raw flux level", "domain": ["hardware", "files", "developer-tools", "cross-platform"], "enriched": true, "function": ["cli", "file-system", "developer-tools"], "health_score": 89, "homepage": null, "language": "Python", "license": "Unlicense", "license_family": "permissive", "maturity": "active", "member_repos": ["keirf/greaseweazle"], "name": "keirf/greaseweazle", "platform": ["python", "windows", "cli"], "pushed_at": "2026-06-16T10:18:25+00:00", "repo": "keirf/greaseweazle", "stars": 1383, "tags": ["floppy-disk", "flux-level", "usb-device", "retro-computing", "disk-archiving", "disk-imaging", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["read floppy disks to image files at the raw flux level", "write disk images back to real floppy disks", "archive and preserve old floppy disk collections", "convert between floppy disk formats", "erase floppy disks", "access a floppy drive over USB from Windows, macOS, or Linux"], "what_it_is": "Host tools for the Greaseweazle, an open-source USB device that reads and writes raw flux-level data on nearly any type of floppy disk. The Python-based `gw` command-line tool controls the device for reading, writing, and erasing floppy disks.", "when_to_avoid": ["you only need to read standard disk image files without real floppy hardware", "you need to work with modern storage media rather than floppy disks", "you want a purely software-based disk image converter with no hardware"], "when_to_choose": ["you need flux-level access to floppy disks for archival or preservation", "you want to read or write non-standard or copy-protected floppy formats", "you own or plan to build a Greaseweazle USB device", "you need cross-platform floppy disk imaging tooling"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/greaseweazle", "repo": "keirf/greaseweazle", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "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:04:34.642387+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:34.642387+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:02.747053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dd88c87fd0728703a40bf4a3132a481f3257b942b15a00caa20b032d59d34f31", "fetched_at": "2026-08-28T04:04:34.642387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/keirf/greaseweazle"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 87, "longevity": 100, "rhythm": 38}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3087, "days_push": 78, "days_rel": 259, "gap_med": 138, "n_releases_24m": 4}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}