{"adoption": {"forks": 103, "observed_at": "2026-08-28T04:06:21.561357+00:00", "stars": 2169}, "canonical_url": "https://ross.abutalabs.com/products/fugue", "card": {"archived": false, "artifact_type": "library", "description": "A unified interface for distributed computing. Fugue executes SQL, Python, Pandas, and Polars code on Spark, Dask and Ray without any rewrites.", "domain": ["big-data", "microservices", "data-science"], "enriched": true, "function": ["etl", "data-science", "workflow-automation"], "health_score": 87, "homepage": "https://fugue-tutorials.readthedocs.io/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["fugue-project/fugue"], "name": "fugue-project/fugue", "platform": ["python", "cross-platform"], "pushed_at": "2026-05-19T21:49:03+00:00", "repo": "fugue-project/fugue", "stars": 2169, "tags": ["distributed-computing", "spark", "dask", "ray", "pandas", "polars", "fuguesql", "dataframes", "sql", "data-engineering"], "topics": ["spark", "dask", "data-practitioners", "machine-learning", "distributed-systems", "distributed-computing", "distributed", "sql", "pandas"], "urls": [], "use_cases": ["scale pandas code to spark dask or ray", "parallelize python functions across a cluster", "run sql workflows on top of pandas and spark dataframes", "port local data pipelines to distributed backends without rewrites", "bridge local testing and large-scale distributed execution", "invoke python functions from sql queries"], "what_it_is": "Fugue is a Python library providing a unified interface for distributed computing, letting users run Python, Pandas, Polars, and SQL code on Spark, Dask, and Ray backends with minimal rewrites. It includes FugueSQL, an enhanced SQL interface that can invoke Python code for end-to-end data workflows.", "when_to_avoid": ["your data fits comfortably in memory on a single machine", "you want a drop-in pandas replacement like Modin or PySpark Pandas", "you are fully committed to one engine and its native APIs", "you need dbt-style SQL transformation management for warehouses"], "when_to_choose": ["you have pandas or python code that needs to scale to Spark, Dask, or Ray", "you want a SQL interface that works across multiple dataframe engines", "you want to avoid learning framework-specific APIs for each distributed backend", "you need to test logic locally and run the same code at scale"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fugue", "repo": "fugue-project/fugue", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/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:06:21.561357+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.561357+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:49:26.767214+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31e049efc1eabb10fe7518475a5a9d38bce7c27acb7baf4240bc30fe8fd10112", "fetched_at": "2026-08-28T04:06:21.561357+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fugue-project/fugue"}, {"content_hash": "c8e45ef9690757eac165ed2445ebcf6ac1c3168ca4ae84b74034bb11607baf7c", "fetched_at": "2026-08-29T10:29:29.202610+00:00", "kind": "homepage", "missing": false, "url": "https://fugue-tutorials.readthedocs.io/"}, {"content_hash": "5a1231364ef55b0de1c3c5e1ef21f3a401d768c2f3bd0dd5ee58172b8151f91f", "fetched_at": "2026-08-29T10:29:29.212228+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/fugue/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 83, "longevity": 100, "rhythm": 71}, "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": 2353, "days_push": 106, "days_rel": 194, "gap_med": 28, "n_releases_24m": 6}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}