Skip to main content

Check links in files

Project description


pytest plugin that checks URLs for HTML-containing files.

codecov Tests PyPI version PyPI - Python Version

Supported files

  • .html
  • .rst
  • .md (TODO: select renderer)
  • .ipynb (requires nbconvert)


pip install pytest-check-links


pytest --check-links mynotebook.ipynb



default: md,rst,html,ipynb

A comma-separated list of extensions to check


Also check whether links with #anchors HTML files (either local, or with served with html in the Content-Type) actually exist, and point to exactly one named anchor.


A regular expression that matches URIs that should not be checked. Can be specified multiple times for multiple ignore patterns. This can be used for files that have a lot of links to GitHub pages, such as a Changelog. GitHub has rate limiting, which would normally cause these files to take up to an hour to complete for larger repositories. For example:

pytest --check-links --check-links-ignore "*/pull/.*"


Caching requires the installation of requests-cache.

pip install requests-cache

If enabled, each occurance of a link will be checked, no matter how many times it appears in a collection of files to check.


Cache requests when checking links. Caching is disabled by default, and this option must be provided, even if other cache configuration options are provided.


default: .pytest-check-links-cache

Name of link cache, either the base name of a file or similar, depending on backend.


default: sqlite3

Cache persistence backend. The other known backends are:

  • memory
  • redis
  • mongodb

See the requests-cache documentation for more information.


default: None (unlimited)

Time to cache link responses (seconds).


Backend-specific options for link cache, provided as key:value. These are passed directly to the requests_cache.CachedSession constructor, as they vary depending on the backend.

Values will be parsed as JSON first, so to overload the default of caching all HTTP response codes (which requires a list of ints):

--check-links-backend-opt allowable_codes:[200]


  • pick a markdown renderer (probably commonmark) or make the markdown renderer pluggable
  • options for validating links (allow absolute links, only remote or local, etc.)
  • find URLs in Python docstrings

Project details

Download files

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

Files for pytest-check-links, version 0.6.0
Filename, size File type Python version Upload date Hashes
Filename, size pytest_check_links-0.6.0.tar.gz (17.4 kB) File type Source Python version None Upload date Hashes View
Filename, size pytest_check_links-0.6.0-py3-none-any.whl (10.3 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page