# jalammar/ecco

Explain, analyze, and visualize NLP language models. Ecco creates interactive visualizations directly in Jupyter notebooks explaining the behavior of Transformer-based language models (like GPT2, BERT, RoBERTA, T5, and T0).

Repository: https://github.com/jalammar/ecco
Canonical: https://ross.abutalabs.com/products/ecco
Homepage: https://ecco.readthedocs.io
Language: Jupyter Notebook
License: BSD-3-Clause
License Family: permissive
Topics: nlp, visualization, explorables, natural-language-processing, pytorch, language-models
Last push: 2024-08-15T19:08:06+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 2125, "days_push": 748, "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 2102, forks 176 (observed 2026-08-28T04:06:13.706022+00:00)

## What it is
Ecco is a Python library for exploring and explaining Transformer-based NLP language models through interactive visualizations inside Jupyter notebooks. It supports feature attribution, neuron analysis, and model introspection for models like GPT2, BERT, RoBERTa, T5, and T0 via Hugging Face transformers.

## Use cases
- visualize how a transformer language model processes text
- explain BERT or GPT-2 predictions with feature attribution
- inspect neuron activations in a language model
- understand attention and token importance in NLP models
- explore pre-trained Hugging Face models interactively in a notebook

## When to choose
- you want interactive, notebook-based explanations of transformer model behavior
- you need saliency or integrated-gradients attributions for NLP predictions
- you are teaching or researching how language models work internally

## When to avoid
- you need to train or fine-tune models - Ecco only explores pre-trained ones
- you need production model monitoring or dashboards outside Jupyter
- you need a stable, actively developed tool - it is an alpha research project

## Facets
- artifact type: library
- maturity: maintenance
- function: data-visualization, nlp, machine-learning
- domain: data-visualization, machine-learning, developer-tools
- platform: python, jvm-scripting
- tags: explainable-ai, transformers, jupyter-notebooks, interpretability, pytorch, huggingface, feature-attribution, natural-language-processing

## Member repositories
- jalammar/ecco (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:13.706022+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-30T02:54:16.757571+00:00, confidence not recorded.
  - readme: https://github.com/jalammar/ecco (fetched 2026-08-28T04:06:13.706022+00:00, sha e17487c427d9)
  - registry_pypi: https://pypi.org/pypi/ecco/json (fetched 2026-08-29T10:35:04.072736+00:00, sha 6a9f12573822)
- Data as of 2026-08-30T08:39:29.467469+00:00.
