# nlpodyssey/spago

Self-contained Machine Learning and Natural Language Processing library in Go

Repository: https://github.com/nlpodyssey/spago
Canonical: https://ross.abutalabs.com/products/spago
Language: Go
License: BSD-2-Clause
License Family: permissive
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
Last push: 2025-04-01T10:17:42+00:00

## Health v2 (maintenance only)
Score: 29/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 14, release rhythm 8, longevity 100
- inputs: {"age_days": 2432, "days_push": 519, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1850, forks 88 (observed 2026-08-28T04:05:44.302451+00:00)

## 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.

## 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

## 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

## 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

## Facets
- artifact type: library
- maturity: maintenance
- function: machine-learning, nlp, deep-learning, llm-inference
- domain: machine-learning, deep-learning, artificial-intelligence
- platform: go, cross-platform
- tags: neural-networks, computation-graph, automatic-differentiation, transformers, bert, lstm, named-entity-recognition, question-answering, language-model, standalone-executables, natural-language-processing

## Member repositories
- nlpodyssey/spago (main) score 29

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:44.302451+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:17:08.281382+00:00, confidence not recorded.
  - readme: https://github.com/nlpodyssey/spago (fetched 2026-08-28T04:05:44.302451+00:00, sha 753ed3a2c1f6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
