{"adoption": {"forks": 88, "observed_at": "2026-08-28T04:05:44.302451+00:00", "stars": 1850}, "canonical_url": "https://ross.abutalabs.com/products/spago", "card": {"archived": false, "artifact_type": "library", "description": "Self-contained Machine Learning and Natural Language Processing library in Go", "domain": ["machine-learning", "deep-learning", "artificial-intelligence"], "enriched": true, "function": ["machine-learning", "nlp", "deep-learning", "llm-inference"], "health_score": 32, "homepage": null, "language": "Go", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["nlpodyssey/spago"], "name": "nlpodyssey/spago", "platform": ["go", "cross-platform"], "pushed_at": "2025-04-01T10:17:42+00:00", "repo": "nlpodyssey/spago", "stars": 1850, "tags": ["neural-networks", "computation-graph", "automatic-differentiation", "transformers", "bert", "lstm", "named-entity-recognition", "question-answering", "language-model", "standalone-executables", "natural-language-processing"], "topics": ["deep-learning", "machine-learning", "natural-language-processing", "neural-network", "computation-graph", "automatic-differentiation", "artificial-intelligence", "deeplearning", "transformer-architecture", "recurrent-networks", "lstm", "language-model", "question-answering", "bert", "bert-as-service", "nlp", "automatic-translation", "bart", "named-entities-recognition"], "urls": [], "use_cases": ["run transformer models like BERT in pure Go", "build NLP pipelines without Python dependencies", "named entity recognition in Go", "question answering with a Go library", "train neural networks in Go", "deploy ML models as standalone Go executables", "implement LSTMs and recurrent networks in Go"], "what_it_is": "Spago is a self-contained machine learning and NLP library written in pure Go, featuring an asynchronous computation graph with automatic differentiation. It supports neural architectures like Transformers, BERT, BART, and LSTMs, and compiles to standalone executables without requiring Python in production.", "when_to_avoid": ["you need GPU acceleration for large-scale training", "you want an actively developed framework with a maintenance team", "you need the breadth of PyTorch or TensorFlow ecosystems"], "when_to_choose": ["you need deep learning in a Go-only production environment", "you want standalone binaries with no Python runtime", "you need BERT-style models served from Go"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spago", "repo": "nlpodyssey/spago", "role": "main", "score": 29}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "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:05:44.302451+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.302451+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:17:08.281382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753ed3a2c1f61b7a93094e6e743df89a81729c54cd32a81a5d740e40aba71396", "fetched_at": "2026-08-28T04:05:44.302451+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nlpodyssey/spago"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 14, "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": 2432, "days_push": 519, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 29, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}