Skip to main content

pytest-remotedata

10.5281/zenodo.5796951 CI Status

This package provides a plugin for the pytest framework that allows developers to control unit tests that require access to data from the internet. It was originally part of the astropy core package, but has been moved to a separate package in order to be of more general use.

Motivation

Many software packages provide features that require access to data from the internet. These features need to be tested, but unit tests that access the internet can dominate the overall runtime of a test suite.

The pytest-remotedata plugin allows developers to indicate which unit tests require access to the internet, and to control when and whether such tests should execute as part of any given run of the test suite.

Installation

The pytest-remotedata plugin can be installed using pip:

$ pip install pytest-remotedata

It is also possible to install the latest development version from the source repository:

$ git clone https://github.com/astropy/pytest-remotedata
$ cd pytest-remotedata
$ pip install .

In either case, the plugin will automatically be registered for use with pytest.

Usage

Installing this plugin makes two decorators available for use with pytest:

  • remote_data for marking tests that require data from the internet

  • internet_off for marking tests that should run only when internet access is disabled

These decorators can be used to mark test functions, methods, and classes using @pytest.mark. For example, consider the following test function that requires access to data from the internet:

import pytest
from urllib.request import urlopen

@pytest.mark.remote_data
def test_remote_data():
    urlopen('https://astropy.org')

Marking the test_remote_data function with @pytest.mark.remote_data indicates to pytest that this test should be run only when access to remote data sources is explicitly requested.

When this plugin is installed, the --remote-data command line option is added to the pytest command line interface.

The default behavior is to skip tests that are marked with remote_data. If the --remote-data option is not provided to the pytest command, or if --remote-data=none is provided, all tests that are marked with remote_data will be skipped. All tests that are marked with internet_off will be executed.

Sometimes it is useful to check that certain tests do not unexpectedly access the internet. Strict remote data access checking can be enabled by setting remote_data_strict = true in the tested package’s setup.cfg file. If this option is enabled, any test that attempts to access the network but is not marked with @pytest.mark.remote_data will fail.

Providing either the --remote-data option, or --remote-data=any to the pytest command line interface will cause all tests that are marked with remote-data to execute. Any tests that are marked with internet_off will be skipped.

Running the tests with --remote-data=astropy will cause only tests that receive remote data from Astropy data sources to be run. Tests with any other data sources will be skipped. This is indicated in the test code by marking test functions with @pytest.mark.remote_data(source='astropy').

Running only the tests marked as remote_data, use the built-in pytest machinery, e.g., pytest -m remote_data --remote-data.

In the future, we intend to support a configurable way to indicate specific remote data sources in addition to astropy.

Development Status

Questions, bug reports, and feature requests can be submitted on github.

License

This plugin is licensed under a 3-clause BSD style license - see the LICENSE.rst file.

Metadata

Release files for pytest-remotedata 0.4.3

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

Source distribution (sdist)

Source distribution for pytest-remotedata 0.4.3
File Size Uploaded Provenance
pytest_remotedata-0.4.3.tar.gz 13.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-remotedata 0.4.3
File Interpreter ABI Platform
pytest_remotedata-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 21.8 kB

Release files / pytest_remotedata-0.4.3.tar.gz

Download URL pytest_remotedata-0.4.3.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
29714fbbead6c9e503f561de0866c58dc79d15a5cb15480bb2b95362632502e4
BLAKE2b-256 checksum
How to use checksums
6bf775e39a271976c2705cc4e713fce03880b41ad2d377169eb5b2b41af907b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Release files / pytest_remotedata-0.4.3-py3-none-any.whl

Download URL pytest_remotedata-0.4.3-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db8892b5b060c1625514454e2c116703a8cdff461ce6133bf9f588e63d807382
BLAKE2b-256 checksum
How to use checksums
110a2ed3592b9241dad59396d9e81a6461c9c59c569fa4e871431155961c94e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 27, 2026.

Transparency log

Security for pytest-remotedata 0.4.3

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pytest_remotedata-0.4.3.tar.gz

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 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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