Skip to main content

sdvplot sdvplot hex logo

Lifecycle: experimental Docs

Team logos, wordmarks, headshots and colors for Python plots and tables, from the SportsDataverse logo archive. It resolves team abbreviations, names and provider ids across 28 leagues and picks the right era's mark for a season. Colors and logos work with any library through palette(), team_colors(), logo_url() and logo_image(), and the add_logos(), add_wordmarks() and add_headshots() adapters draw them on matplotlib (and seaborn), plotnine, plotly, altair, bokeh, holoviews, great_tables, folium and pygal plots, tables and maps. sdvplot.great_tables also ports sdvplotR's table themes, cell styling, legends and image export, and surface() draws a league's field, court or rink in a team's colors. The Python counterpart to sdvplotR. See CHANGELOG.

Installation

pip install sdvplot
# or
uv add sdvplot

Plotting libraries are optional extras, for example pip install "sdvplot[mpl]". Each extra adds the libraries for one feature: [svg] lets logo_image() rasterize SVG marks. With [mpl], [plotnine], [plotly], [altair], [bokeh], [holoviews], [tables], [folium] or [pygal], add_logos(), add_wordmarks() and add_headshots() draw on that library's plots, tables and maps; axis_logos() works on matplotlib, seaborn, plotnine, Plotly and Altair. [surfaces] is for surface(), and [reactable] and [plottable] add column helpers (sdvplot.reactable, sdvplot.plottable).

Extra Adds
[mpl] matplotlib
[plotnine] plotnine
[plotly] plotly
[altair] altair
[bokeh] bokeh
[holoviews] holoviews
[tables] great_tables
[reactable] reactable (reactable-py)
[folium] folium
[svg] resvg-py, for SVG marks
[surfaces] sportypy and mplsoccer
[plottable] plottable
[pygal] pygal
[all] everything above

Get started

import sdvplot

sdvplot.resolve(["LV", "OAK", "Las Vegas Raiders"], "nfl")  # ['13', '13', '13']
sdvplot.palette("nfl", teams=["LV", "KC"])  # {'LV': '#000000', 'KC': '#e31837'}
sdvplot.logo_url("OAK", "nfl", season=2010)  # the Oakland-era mark
img = sdvplot.logo_image("LV", "nfl", size=128)  # a PIL image

Colors work in any library that takes a {value: color} mapping, for example seaborn: sns.barplot(data=df, x="team", y="epa", hue="team", palette=sdvplot.palette("nfl", teams=df["team"])).

teams() records where each team's colors come from in color_source: nflverse or espn when that source publishes them, logo when they are derived from the team's archived logo because no source does, and fallback for a placeholder that is not the team's colors.

Environment variables

  • SDVPLOT_CACHE_DIR: cache root.
  • SDVPLOT_CACHE_TTL: cache lifetime in days (default 7).
  • SDVPLOT_LIVE_TESTS=1: enable the network tests.

Documentation

Logos, trademarks and data

Team names, logos, wordmarks and player headshots are trademarks or copyrighted works of their respective leagues, teams, schools and other rights holders. sdvplot is not affiliated with, sponsored by or endorsed by any of them, and using sdvplot to draw a mark grants no right to use it. The package ships no logo files: the wheel carries only an index of team names, ids and colors, and marks are fetched at runtime from the SportsDataverse logo archive, headshots from ESPN (or, for NFL gsis ids, the URLs in nflverse's player table). Use of any mark in your own work is governed by that owner's terms, and following them is your responsibility. The MIT license covers the sdvplot code only; team data belongs to its respective owners and sources.

Companion packages

  • sdvplotR: the R package this one mirrors.
  • sdv-py: SportsDataverse data for Python.
  • sportypy: sports surfaces for Python plots.

Citations

To cite sdvplot in publications, use:

BibTex Citation

@misc{gilani_2026_sdvplot,
  author = {Gilani, Saiem},
  title = {sdvplot: Team logos, wordmarks, headshots and colors for Python plots and tables},
  url = {https://sdvplot.sportsdataverse.org},
  year = {2026}
}

Metadata

Release files for sdvplot 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sdvplot 0.1.0
File Size Uploaded
sdvplot-0.1.0.tar.gz 770.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sdvplot 0.1.0
File Interpreter ABI Platform
sdvplot-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / sdvplot-0.1.0.tar.gz

Download URL sdvplot-0.1.0.tar.gz
Size 770.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7728fb74f69dcb4583bbe2bf68eece45eca2d82702459bfad7591ebff4bc1321
BLAKE2b-256 checksum
How to use checksums
d4a3d46a8984e320a2372d1e9d2d3628817187a4a31802f5440855eaf79fa7cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / sdvplot-0.1.0-py3-none-any.whl

Download URL sdvplot-0.1.0-py3-none-any.whl
Size 525.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7fe40d2404b92a4817daf9f1822ec886e5269220e3a52e34a22f3b18e581c813
BLAKE2b-256 checksum
How to use checksums
92d257956c1fca021b586c93e1cd06b98045418285eab0aadd12a83a8117896b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page