{"adoption": {"forks": 399, "observed_at": "2026-08-28T04:06:33.567019+00:00", "stars": 2277}, "canonical_url": "https://ross.abutalabs.com/products/transmogrifai", "card": {"archived": false, "artifact_type": "library", "description": "TransmogrifAI (pronounced trăns-mŏgˈrə-fī) is an AutoML library for building modular, reusable, strongly typed machine learning workflows on Apache Spark with minimal hand-tuning", "domain": ["machine-learning", "big-data", "data-science"], "enriched": true, "function": ["machine-learning", "etl", "data-science"], "health_score": 71, "homepage": "https://transmogrif.ai", "language": "Scala", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["salesforce/TransmogrifAI"], "name": "salesforce/TransmogrifAI", "platform": ["jvm", "python"], "pushed_at": "2026-06-02T18:03:07+00:00", "repo": "salesforce/TransmogrifAI", "stars": 2277, "tags": ["automl", "spark", "feature-engineering", "structured-data", "type-safe", "salesforce-einstein"], "topics": ["ml", "automl", "transformations", "estimators", "dsl", "pipelines", "machine-learning", "scala", "salesforce", "einstein", "features", "feature-engineering", "spark", "sparkml", "ai", "automated-machine-learning", "transmogrification", "transmogrify", "structured-data", "transformers"], "urls": [], "use_cases": ["automate feature engineering and model selection on structured data", "build production ML pipelines on Apache Spark", "build machine learning models without deep ML expertise", "create modular reusable strongly typed ML workflows", "automated machine learning for tabular data", "reduce time to train and tune Spark ML models"], "what_it_is": "TransmogrifAI is an AutoML library written in Scala that runs on Apache Spark for building modular, reusable, strongly typed machine learning workflows on structured data. It automates feature engineering, feature validation, and model selection, achieving near hand-tuned accuracy with far less effort.", "when_to_avoid": ["you need deep learning or unstructured data like images and text", "you work in Python-only ecosystems like scikit-learn or AutoML tools", "you need a project with frequent updates and modern Spark version support"], "when_to_choose": ["you already run Apache Spark and want AutoML on structured/tabular data", "you want compile-time type-safe, modular ML workflow definitions in Scala", "you need fast production-ready ML pipelines with minimal hand-tuning"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/transmogrifai", "repo": "salesforce/TransmogrifAI", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "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:33.567019+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.567019+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:41:27.030053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f65d86a8968dd8e1443f789a2fa2b1fe140f98d44b664507536ac0f86896e891", "fetched_at": "2026-08-28T04:06:33.567019+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/TransmogrifAI"}, {"content_hash": "00656003e182e61ef0b1480724251f32ef1a5d806b34ef8901b6a22a25002cb1", "fetched_at": "2026-08-29T10:22:01.556173+00:00", "kind": "homepage", "missing": false, "url": "https://transmogrif.ai"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 85, "longevity": 100, "rhythm": 8}, "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": 3226, "days_push": 92, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}