Skip to main content

LUMA WNBA Stint and Lineup Data

DOI

LUMA is an open-source project measuring basketball player impact. This repository holds WNBA lineup-stint data and the ratings derived from it.

Site: https://court-share.com/luma

Contents

Overview

Coverage 2003–2026 regular season, 2003–2025 postseason
Games 5,623
Stints 267,293
Players 975
Size 542 files, 96.7 MB
Schema luma_stints_v2

Version 1.0.0, current through 2026-08-15.

Files

data/stints/rs_{2003..2026}.json      regular season
data/stints/po_{2003..2025}.json      postseason
data/crosswalk.csv                    player identifiers
data/quality.json                     per-season diagnostics
data/manifest.json                    SHA-256 per file
data/metrics/arc/                     ratings, per season and career
data/metrics/arc/windows/             multi-year boards, 2 to 5-season spans
data/metrics/rapm/                    pure RAPM, no box prior, all spans
data/metrics/arc/decay/               time-decayed boards, 45-day half-life
data/metrics/od/                      offence and defence components, incl. windows
data/metrics/channels/                on/off decomposition, shot profile, Box+ inputs
src/luma_wnba/           pip-installable loader
llms.txt                 briefing for AI assistants
AGENTS.md                conventions for coding agents
notebooks/quickstart.ipynb
sample/

Regular-season and postseason files share no games. Fields are defined in SCHEMA.md and METRICS.md.

Record layout

Each file is an object keyed by game identifier. Each stint is a seven-element array.

[home_five, away_five, seconds, home_points, away_points, home_tally, away_tally]
{"1022600001": {"date": "2026-05-08", "stints": [
  [["LUMA-W-0000030","LUMA-W-0000033","LUMA-W-0000035","LUMA-W-0000075","LUMA-W-0000120"],
   ["LUMA-W-0000010","LUMA-W-0000078","LUMA-W-0000124","LUMA-W-0000167","LUMA-W-0000172"],
   268.0, 16, 6,
   [3,4,2,2,5,9,1,1,1,2,0,0,6,1,0,0],
   [1,2,4,4,2,0,0,0,4,1,0,0,2,2,1,1]]
]}}

The tally counts that team's offensive events during the stint:

fga_rim  pts_rim  fga_mid  pts_mid  fga_three  pts_three  fta  pts_ft
tov  oreb  fb_att  fb_pts  ast_pts  tov_pass  tov_handle  tov_sys

Positions denote venue, not franchise.

Usage

No install — run it in the browser

Open In Colab

Click the badge. Nothing to download, no GitHub account, no clone.

Python

pip install luma-wnba          # once released on PyPI
pip install https://github.com/lumahoops/WNBA/archive/refs/heads/main.tar.gz   # works today
import luma_wnba as luma

games   = luma.load_stints(2026)          # regular season, fetched and cached
games   = luma.load_stints(2024, kind="po")
seconds = luma.player_seconds(games)      # {luma_id: seconds on court}
names   = luma.load_crosswalk()           # {luma_id: identity row}
arc     = luma.load_arc(2026)             # rating board

Data is fetched over the network on first use and cached under ~/.cache/luma-wnba, so no clone is required. Standard library only — no pandas, no requests. If you have cloned the repository, local files are used automatically.

Pin a tag for reproducibility:

games = luma.load_stints(2026, ref="v1.0.0")

Full API

load_stints(season, kind='rs', source='auto', data_dir=None, ref='main')
load_crosswalk(source='auto', data_dir=None, ref='main')
load_metric(name, source='auto', data_dir=None, ref='main')
seasons(kind='rs')
iter_stints(games)
player_seconds(games)
tally_dict(tally)
seconds_to_minutes(secs)
load_arc(season=None, source='auto', data_dir=None, ref='main')
load_rapm(season=None, source='auto', data_dir=None, ref='main')
load_od(season, source='auto', data_dir=None, ref='main')
load_quality(source='auto', data_dir=None, ref='main')
cache_dir(ref='main')
clear_cache()

TALLY = ('fga_rim', 'pts_rim', 'fga_mid', 'pts_mid', 'fga_3', 'pts_3', 'fta', 'pts_ft',
         'tov', 'oreb', 'fb_att', 'fb_pts', 'ast_pts', 'tov_pass', 'tov_handle', 'tov_sys')
RS_SEASONS = 2003..2026
PO_SEASONS = 2003..2025
__version__ = '1.0.1'

Terminal

luma-wnba top 2026            # minutes leaders
luma-wnba fetch 2025 --kind po
luma-wnba seasons
luma-wnba cache --clear

With ChatGPT or any AI agent

llms.txt is a briefing you can paste into an assistant so it writes correct code against this dataset instead of guessing. It lists the complete API, the record shapes and the rules that matter.

Either paste the file, or give the assistant the URL:

Read https://raw.githubusercontent.com/lumahoops/WNBA/main/llms.txt and use it to answer
questions about WNBA lineup data.

R

No R package; the files are plain JSON.

library(jsonlite)
games <- fromJSON("https://raw.githubusercontent.com/lumahoops/WNBA/main/data/stints/rs_2026.json")

sample/ holds five games and a twenty-row rating board.

Possessions, following Oliver:

poss = t[0] + t[2] + t[4] + 0.44 * t[6] + t[8] - t[9]

Identifiers

LUMA-W-#######, assigned once and never reused. crosswalk.csv maps each to WNBA Stats and ESPN identifiers, with season span and source scheme.

Ratings

data/metrics/ holds ARC, a rating combining a ridge-regularised on/off estimate with a Box+ component, in points per 100 possessions relative to league average, where arc = imp_arc + box_arc. Channel files decompose the on/off component by shot and possession category.

Limitations

  • Records carry no team identifier.
  • Slots 10 and 11 are zero; the source feeds carry no fastbreak qualifier.
  • home_points equals the sum of tally scoring slots in 98.1% of records. Where a scoring event spans a stint boundary, fields 3 and 4 are authoritative.
  • 111 games carry a null date.
  • 0.6% of records carry negative seconds or points from period-boundary deltas. Game totals reconcile; median game duration is 2,400 seconds.
  • 2026 derives from a feed with 3.3% less recorded clock time, affecting per-second rates.

Licence and citation

Data under data/ is CC BY 4.0; code is MIT. Sources are documented in SOURCES.md. Not affiliated with the WNBA or ESPN.

Awoyemi, A. (2026). LUMA WNBA Stint and Lineup Data (Version 1.0.0) [Data set].
Zenodo. https://doi.org/10.5281/zenodo.21972004

CITATION.cff · aayoawoyemi@gmail.com

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

luma_wnba-1.0.1.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

luma_wnba-1.0.1-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file luma_wnba-1.0.1.tar.gz.

File metadata

  • Download URL: luma_wnba-1.0.1.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for luma_wnba-1.0.1.tar.gz
Algorithm Hash digest
SHA256 432a5bf83491b5988f5df3a072ae3b0f849f7a30872dc1392adad709f361c150
MD5 8072929bead3448dca70bec32edf96c1
BLAKE2b-256 530e6f947e2b4ec4342699b8767f4f4f14d6b52b741a5ca75d00fcfa3a292f41

See more details on using hashes here.

Provenance

The following attestation bundles were made for luma_wnba-1.0.1.tar.gz:

Publisher: publish.yml on lumahoops/WNBA

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file luma_wnba-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: luma_wnba-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for luma_wnba-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 13af3eb4b4e4c37369fe9b559df97ce32969b8e6b352b2dda801b9e98dcdf2b9
MD5 fffdfc84ca52eeda2254f70663ac47c4
BLAKE2b-256 ba3162be80aaec235a1001507c9c655e3a5bf7da9592cd4bc76f9964621e25f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for luma_wnba-1.0.1-py3-none-any.whl:

Publisher: publish.yml on lumahoops/WNBA

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page