{"adoption": {"forks": 128, "observed_at": "2026-08-28T04:07:47.329842+00:00", "stars": 3168}, "canonical_url": "https://ross.abutalabs.com/products/insect", "card": {"archived": true, "artifact_type": "application", "description": "High precision scientific calculator with support for physical units", "domain": ["mathematics", "web-development", "education"], "enriched": true, "function": ["parser", "cli", "developer-tools"], "health_score": 10, "homepage": "https://numbat.dev/", "language": "PureScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["sharkdp/insect"], "name": "sharkdp/insect", "platform": ["cli", "browser", "cross-platform"], "pushed_at": "2025-02-10T20:25:49+00:00", "repo": "sharkdp/insect", "stars": 3168, "tags": ["scientific-calculator", "physical-units", "unit-conversion", "purescript", "terminal-app", "web-app", "high-precision-arithmetic", "superseded-by-numbat", "physics", "command-line", "web-server"], "topics": ["calculator", "web-app", "terminal-based", "mathematical-expressions", "physics", "quantities", "units", "parser", "purescript"], "urls": [], "use_cases": ["convert units in calculations like 60 mph -> m/s", "compute physics problems with quantities like 40 kg * 9.8 m/s^2", "high precision arithmetic with 30 significant digits", "quick scientific calculations in the terminal", "calculate with mixed units like 2 min + 30 s", "share calculations via a browser URL"], "what_it_is": "Insect is a high-precision scientific calculator with full support for physical units, available both as a terminal application and a browser-based web app. It evaluates mathematical expressions with 30 significant digits, handles unit parsing and implicit/explicit conversions, and supports variable assignments. The README recommends its successor, Numbat, a Rust rewrite.", "when_to_avoid": ["you are starting a new setup - the author recommends the successor project Numbat instead", "you need a full programmable scientific computing language rather than an interactive calculator", "you need graphing or symbolic algebra capabilities"], "when_to_choose": []}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/insect", "repo": "sharkdp/insect", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "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:07:47.329842+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.329842+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:25:09.216070+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e471973d1f46a5ccd17e12828c4bb267c54cb51aac64e7967cd65825c9a84da", "fetched_at": "2026-08-28T04:07:47.329842+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sharkdp/insect"}, {"content_hash": "5cc02a7b04d5f1beb682686439beb5befdca8b9c5b0015a9516b1a47279c0bd6", "fetched_at": "2026-08-29T09:39:46.514578+00:00", "kind": "homepage", "missing": false, "url": "https://numbat.dev/"}, {"content_hash": "700434a555ef278bbbb0300fe704373747993c6bdd5081df92b19b8ec3d6f45a", "fetched_at": "2026-08-29T09:39:46.517133+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs"}, {"content_hash": "18653d6624263884cddc96101dc5b3d29d0fc1013b00174c4cebf5a74add876b", "fetched_at": "2026-08-29T09:39:46.519029+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/examples/example-numbat_syntax"}, {"content_hash": "bad4ad987dc834016d707f26f71d391639570cd6b72e1a954430fb81266af58c", "fetched_at": "2026-08-29T09:39:46.521283+00:00", "kind": "site_page", "missing": false, "url": "https://numbat.dev/docs/web/usage"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 6, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3476, "days_push": 569, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}