{"adoption": {"forks": 601, "observed_at": "2026-08-28T04:09:48.194790+00:00", "stars": 6736}, "canonical_url": "https://ross.abutalabs.com/products/eel", "card": {"archived": true, "artifact_type": "library", "description": "A little Python library for making simple Electron-like HTML/JS GUI apps", "domain": ["desktop-applications", "web-development", "cross-platform", "developer-tools"], "enriched": true, "function": ["gui", "desktop-framework", "http-server"], "health_score": 10, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["python-eel/Eel"], "name": "python-eel/Eel", "platform": ["python", "cross-platform"], "pushed_at": "2025-06-22T18:29:43+00:00", "repo": "python-eel/Eel", "stars": 6736, "tags": ["electron-alternative", "python-javascript-interop", "html-gui", "chromium-app-mode", "js-python-bridge", "pyinstaller-packaging", "lightweight-gui", "local-webserver", "desktop"], "topics": ["hacktoberfest"], "urls": [], "use_cases": ["build a desktop GUI app in Python with an HTML/JS frontend", "make a simple Electron-like app using Python", "call Python functions from JavaScript in a desktop app", "turn a Python script into a GUI application", "lightweight alternative to Electron or cefpython for small apps", "create an offline HTML GUI with access to Python libraries like file system access", "wrap an internal team utility script in a web-based UI"], "what_it_is": "Eel is a lightweight Python library for building simple Electron-like desktop GUI apps with HTML/JS frontends while retaining full access to Python capabilities and libraries. It hosts a local web server and lets you annotate Python functions so they can be called from JavaScript and vice versa.", "when_to_avoid": ["You need a fully-fledged production desktop application on the scale of Electron apps like Atom", "You require a well-maintained dependency - the maintainers state the project is effectively unmaintained with no plans to change", "Security is critical - the README explicitly warns to consider how you will secure anything built with it", "You need packaged native widgets or support for browsers/engines beyond Chrome/Chromium/Edge"], "when_to_choose": ["You know Python plus basic web development and need a quick GUI for a small utility or internal tool", "You want easy bidirectional Python/JS interop without writing boilerplate client-server code", "Your app benefits from Python's ecosystem (e.g., math, data, or file access) behind a friendly HTML/JS interface", "You plan to distribute the app as a binary via PyInstaller"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/eel", "repo": "python-eel/Eel", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/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:09:48.194790+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.194790+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:42:47.804488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1eef2de2238a3cd4afd85b26eeb2500ccc964afdfec1246309e2d87990e2def", "fetched_at": "2026-08-28T04:09:48.194790+00:00", "kind": "readme", "missing": false, "url": "https://github.com/python-eel/Eel"}, {"content_hash": "f295cfe55e27ec6dd79f6edba4f49795a5261a40f016dac683ef0f12a98cad96", "fetched_at": "2026-08-29T08:38:42.028392+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/eel/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 28, "longevity": 100, "rhythm": 16}, "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": 3171, "days_push": 437, "days_rel": 437, "gap_med": 106.5, "n_releases_24m": 3}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}