diff --git a/README.md b/README.md index 242b1a4..12b0c28 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![CI](https://github.com/michael-denyer/pyLocusZoom/actions/workflows/ci.yml/badge.svg)](https://github.com/michael-denyer/pyLocusZoom/actions/workflows/ci.yml) +[![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.22665975-orange)](https://doi.org/10.5281/zenodo.22665975) [![PyPI](https://img.shields.io/pypi/v/pylocuszoom)](https://pypi.org/project/pylocuszoom/) -[![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.22665975-blue)](https://doi.org/10.5281/zenodo.22665975) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-red.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![Matplotlib](https://img.shields.io/badge/Matplotlib-3.5+-11557c.svg)](https://matplotlib.org/) diff --git a/lychee.toml b/lychee.toml index 3986eca..92e2e22 100644 --- a/lychee.toml +++ b/lychee.toml @@ -11,6 +11,10 @@ exclude = [ # gnu.org aggressively rate-limits CI runner IPs. LICENSE.md is already # excluded via exclude_path; this catches inline GPL links in other docs. '^https?://www\.gnu\.org/licenses/', + # DOIs are persistent identifiers; the doi.org hop always resolves, and + # the Zenodo record page behind it has returned 504 during outages, which + # lychee reports as a redirect loop. Don't let a Zenodo outage block a commit. + '^https?://doi\.org/10\.5281/zenodo\.', ] exclude_path = [