pep8speaks: Hello @StanczakDominik! Thanks for updating your pull request.



* In the file [`plasmapy/classes/sources/tests/test_openpmd_hdf5.py`](https://github.com/PlasmaPy/PlasmaPy/blob/c34a45506ac5d434a24ca71b69967fd7cd487ed7/plasmapy/classes/sources/tests/test_openpmd_hdf5.py):

> [Line 10:1](https://github.com/PlasmaPy/PlasmaPy/blob/c34a45506ac5d434a24ca71b69967fd7cd487ed7/plasmapy/classes/sources/tests/test_openpmd_hdf5.py#L10): [E302](https://duckduckgo.com/?q=pep8%20E302) expected 2 blank lines, found 1
> [Line 15:1](https://github.com/PlasmaPy/PlasmaPy/blob/c34a45506ac5d434a24ca71b69967fd7cd487ed7/plasmapy/classes/sources/tests/test_openpmd_hdf5.py#L15): [E302](https://duckduckgo.com/?q=pep8%20E302) expected 2 blank lines, found 1
> [Line 20:1](https://github.com/PlasmaPy/PlasmaPy/blob/c34a45506ac5d434a24ca71b69967fd7cd487ed7/plasmapy/classes/sources/tests/test_openpmd_hdf5.py#L20): [E302](https://duckduckgo.com/?q=pep8%20E302) expected 2 blank lines, found 1


StanczakDominik: I'm getting some rather weird test collection failures in `plasmapy.atomic.tests.test_ionization_states.py` - I'm starting to think rewriting those using fixtures, so that `pytest-xdist` can pick and choose which tests to send to which worker earlier, may solve it. I'm going to try doing that and see where that leads.
codecov[bot]: # [Codecov](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664?src=pr&el=h1) Report
> Merging [#664](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664?src=pr&el=desc) into [master](https://codecov.io/gh/PlasmaPy/PlasmaPy/commit/c0735461d3c1cb487fabdf60ed131275d2775ece?src=pr&el=desc) will **decrease** coverage by `0.05%`.
> The diff coverage is `50%`.

[![Impacted file tree graph](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664/graphs/tree.svg?width=650&token=LzZ5mnXVad&height=150&src=pr)](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master     #664      +/-   ##
==========================================
- Coverage   95.15%   95.09%   -0.06%     
==========================================
  Files          55       55              
  Lines        4664     4670       +6     
==========================================
+ Hits         4438     4441       +3     
- Misses        226      229       +3
```


| [Impacted Files](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [plasmapy/classes/sources/openpmd\_hdf5.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664/diff?src=pr&el=tree#diff-cGxhc21hcHkvY2xhc3Nlcy9zb3VyY2VzL29wZW5wbWRfaGRmNS5weQ==) | `89.53% <50%> (-2.97%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664?src=pr&el=footer). Last update [c073546...0f0069b](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/664?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

diff --git a/.travis.yml b/.travis.yml
index dcc2b83b..8fe7dcb9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,12 +22,12 @@ matrix:
     fast_finish: true
     include:
         - name: "3.7"
-          env: TOX_ENV='py37-offline'
+          env: TOX_ENV='py37'
           python: "3.7"
           stage: Generic tests
 
         - name: "3.6"
-          env: TOX_ENV='py36-offline'
+          env: TOX_ENV='py36'
           python: "3.6"
           stage: Cron tests
 
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 77e40595..7c298720 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -26,36 +26,36 @@ pr:
 jobs:
 - template: azure-templates.yml
   parameters:
-    name: Linux_37_offline_coverage
+    name: Linux_37_coverage
     os: linux
-    tox: py37-offline
+    tox: py37
 
 - template: azure-templates.yml
   parameters:
-    name: Linux_36_offline
+    name: Linux_36
     os: linux
-    tox: py36-offline 
+    tox: py36
 
 - template: azure-templates.yml
   parameters:
-    name: Windows_37_offline
+    name: Windows_37
     os: windows
-    tox: py37-offline 
+    tox: py37
 
 - template: azure-templates.yml
   parameters:
-    name: Windows_36_offline
+    name: Windows_36
     os: windows
-    tox: py36-offline 
+    tox: py36
 
 - template: azure-templates.yml
   parameters:
-    name: macOS_37_offline
+    name: macOS_37
     os: macos
-    tox: py37-offline 
+    tox: py37
 
 - template: azure-templates.yml
   parameters:
-    name: macOS_36_offline
+    name: macOS_36
     os: macos
-    tox: py36-offline 
+    tox: py36
diff --git a/plasmapy/classes/sources/openpmd_hdf5.py b/plasmapy/classes/sources/openpmd_hdf5.py
index 1dc04a23..cdbc31c3 100644
--- a/plasmapy/classes/sources/openpmd_hdf5.py
+++ b/plasmapy/classes/sources/openpmd_hdf5.py
@@ -84,6 +84,15 @@ def __init__(self, hdf5, **kwargs):
 
         self.subname = tuple(self.h5['data'])[0]
 
+    def __enter__(self):
+        return self.h5
+
+    def close(self):
+        self.h5.close()
+
+    def __exit__(self):
+        self.h5.close()
+
     def _check_valid_openpmd_version(self):
         try:
             openPMD_version = self.h5.attrs["openPMD"].decode('utf-8')
diff --git a/tox.ini b/tox.ini
index 30b2d0c3..36ba764c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py3{6,7}-{offline,astropydev,numpydev},build_docs
+envlist = py3{6,7}{,-astropydev,-numpydev},build_docs
 isolated_build = True
 
 [testenv]
@@ -9,15 +9,14 @@ whitelist_externals=
 changedir = tmp
 setenv =
     MPLBACKEND = agg
-    PYTEST_COMMAND = pytest -vvv --pyargs plasmapy --cov=plasmapy --cov-config={toxinidir}/setup.cfg --durations=25 {toxinidir}/docs
+    PYTEST_COMMAND = pytest -vvv --pyargs plasmapy --cov=plasmapy --cov-config={toxinidir}/setup.cfg --durations=25 {toxinidir}/docs -n=auto --dist=loadfile
 extras = all,tests
 deps =
     numpydev: git+https://github.com/numpy/numpy
     astropydev: git+https://github.com/astropy/astropy
     pytest-cov
     pytest-xdist
-commands =
-    offline,astropydev,numpydev: {env:PYTEST_COMMAND} {posargs}
+commands = {env:PYTEST_COMMAND} {posargs}
 
 [testenv:build_docs]
 basepython = python3.7

Bring back parallel testing in tox.ini
I forgot a flag in there while debugging.
diff --git a/plasmapy/classes/sources/tests/test_openpmd_hdf5.py b/plasmapy/classes/sources/tests/test_openpmd_hdf5.py
index 9fa2357e..35fd19fd 100644
--- a/plasmapy/classes/sources/tests/test_openpmd_hdf5.py
+++ b/plasmapy/classes/sources/tests/test_openpmd_hdf5.py
@@ -1,39 +1,56 @@
 from plasmapy.classes.sources import openpmd_hdf5
 from plasmapy.classes.exceptions import DataStandardError
 from plasmapy.data.test import rootdir
+import plasmapy.classes
 
 from astropy import units as u
 from typing import Union, Tuple, List
 import os
 import pytest
 
+@pytest.fixture(scope='module')
+def h5_2d(request):
+    h5 = openpmd_hdf5.HDF5Reader(hdf5=os.path.join(rootdir, "data00000255.h5"))
+    yield h5
+    h5.close()
+
+@pytest.fixture(scope='module')
+def h5_3d(request):
+    h5 = openpmd_hdf5.HDF5Reader(hdf5=os.path.join(rootdir, "data00000100.h5"))
+    yield h5
+    h5.close()
+
+@pytest.fixture(scope='module')
+def h5_theta(request):
+    h5 = openpmd_hdf5.HDF5Reader(hdf5=os.path.join(rootdir, "data00000200.h5"))
+    yield h5
+    h5.close()
 
 class TestOpenPMD2D:
     """Test 2D HDF5 dataset based on OpenPMD."""
     # Downloaded from
     # https://github.com/openPMD/openPMD-example-datasets/blob/draft/example-2d.tar.gz
     # per the Creative Commons Zero v1.0 Universal license
-    h5 = openpmd_hdf5.HDF5Reader(hdf5=os.path.join(rootdir, "data00000255.h5"))
 
-    def test_has_electric_field_with_units(self):
-        assert isinstance(self.h5.electric_field.to(u.V / u.m), u.Quantity)
+    def test_has_electric_field_with_units(self, h5_2d):
+        assert isinstance(h5_2d.electric_field.to(u.V / u.m), u.Quantity)
 
-    def test_correct_shape_electric_field(self):
-        assert self.h5.electric_field.shape == (3, 51, 201)
+    def test_correct_shape_electric_field(self, h5_2d):
+        assert h5_2d.electric_field.shape == (3, 51, 201)
 
-    def test_has_charge_density_with_units(self):
-        assert self.h5.charge_density.to(u.C / u.m**3)
+    def test_has_charge_density_with_units(self, h5_2d):
+        assert h5_2d.charge_density.to(u.C / u.m**3)
 
-    def test_correct_shape_charge_density(self):
-        assert self.h5.charge_density.shape == (51, 201)
+    def test_correct_shape_charge_density(self, h5_2d):
+        assert h5_2d.charge_density.shape == (51, 201)
 
-    def test_has_magnetic_field(self):
+    def test_has_magnetic_field(self, h5_2d):
         with pytest.raises(AttributeError):
-            self.h5.magnetic_field
+            h5_2d.magnetic_field
 
-    def test_has_electric_current(self):
+    def test_has_electric_current(self, h5_2d):
         with pytest.raises(AttributeError):
-            self.h5.electric_current
+            h5_2d.electric_current
 
 
 class TestOpenPMD3D:
@@ -41,27 +58,26 @@ class TestOpenPMD3D:
     # Downloaded from
     # https://github.com/openPMD/openPMD-example-datasets/blob/draft/example-3d.tar.gz
     # per the Creative Commons Zero v1.0 Universal license
-    h5 = openpmd_hdf5.HDF5Reader(hdf5=os.path.join(rootdir, "data00000100.h5"))
 
-    def test_has_electric_field_with_units(self):
-        assert isinstance(self.h5.electric_field.to(u.V / u.m), u.Quantity)
+    def test_has_electric_field_with_units(self, h5_3d):
+        assert isinstance(h5_3d.electric_field.to(u.V / u.m), u.Quantity)
 
-    def test_correct_shape_electric_field(self):
-        assert self.h5.electric_field.shape == (3, 26, 26, 201)
+    def test_correct_shape_electric_field(self, h5_3d):
+        assert h5_3d.electric_field.shape == (3, 26, 26, 201)
 
-    def test_has_charge_density_with_units(self):
-        assert isinstance(self.h5.charge_density.to(u.C / u.m**3), u.Quantity)
+    def test_has_charge_density_with_units(self, h5_3d):
+        assert isinstance(h5_3d.charge_density.to(u.C / u.m**3), u.Quantity)
 
-    def test_correct_shape_charge_density(self):
-        assert self.h5.charge_density.shape == (26, 26, 201)
+    def test_correct_shape_charge_density(self, h5_3d):
+        assert h5_3d.charge_density.shape == (26, 26, 201)
 
-    def test_has_magnetic_field(self):
+    def test_has_magnetic_field(self, h5_3d):
         with pytest.raises(AttributeError):
-            self.h5.magnetic_field
+            h5_3d.magnetic_field
 
-    def test_has_electric_current(self):
+    def test_has_electric_current(self, h5_3d):
         with pytest.raises(AttributeError):
-            self.h5.electric_current
+            h5_3d.electric_current
 
 
 class TestOpenPMDThetaMode:
@@ -69,31 +85,30 @@ class TestOpenPMDThetaMode:
     # Downloaded from
     # https://github.com/openPMD/openPMD-example-datasets/blob/draft/example-thetaMode.tar.gz
     # per the Creative Commons Zero v1.0 Universal license
-    h5 = openpmd_hdf5.HDF5Reader(hdf5=os.path.join(rootdir, "data00000200.h5"))
 
-    def test_has_electric_field_with_units(self):
-        assert isinstance(self.h5.electric_field.to(u.V / u.m), u.Quantity)
+    def test_has_electric_field_with_units(self, h5_theta):
+        assert isinstance(h5_theta.electric_field.to(u.V / u.m), u.Quantity)
 
-    def test_correct_shape_electric_field(self):
-        assert self.h5.electric_field.shape == (3, 3, 51, 201)
+    def test_correct_shape_electric_field(self, h5_theta):
+        assert h5_theta.electric_field.shape == (3, 3, 51, 201)
 
-    def test_has_charge_density_with_units(self):
-        assert isinstance(self.h5.charge_density.to(u.C / u.m**3), u.Quantity)
+    def test_has_charge_density_with_units(self, h5_theta):
+        assert isinstance(h5_theta.charge_density.to(u.C / u.m**3), u.Quantity)
 
-    def test_correct_shape_charge_density(self):
-        assert self.h5.charge_density.shape == (3, 51, 201)
+    def test_correct_shape_charge_density(self, h5_theta):
+        assert h5_theta.charge_density.shape == (3, 51, 201)
 
-    def test_has_magnetic_field_with_units(self):
-        assert isinstance(self.h5.magnetic_field.to(u.T), u.Quantity)
+    def test_has_magnetic_field_with_units(self, h5_theta):
+        assert isinstance(h5_theta.magnetic_field.to(u.T), u.Quantity)
 
-    def test_correct_shape_magnetic_field(self):
-        assert self.h5.magnetic_field.shape == (3, 3, 51, 201)
+    def test_correct_shape_magnetic_field(self, h5_theta):
+        assert h5_theta.magnetic_field.shape == (3, 3, 51, 201)
 
-    def test_has_electric_current_with_units(self):
-        assert isinstance(self.h5.electric_current.to(u.A * u.kg / u.m**3), u.Quantity)
+    def test_has_electric_current_with_units(self, h5_theta):
+        assert isinstance(h5_theta.electric_current.to(u.A * u.kg / u.m**3), u.Quantity)
 
-    def test_correct_shape_electric_current(self):
-        assert self.h5.electric_current.shape == (3, 3, 51, 201)
+    def test_correct_shape_electric_current(self, h5_theta):
+        assert h5_theta.electric_current.shape == (3, 3, 51, 201)
 
 
 units_test_table = [
@@ -122,3 +137,7 @@ def test_unavailable_hdf5():
 def test_non_openpmd_hdf5():
     with pytest.raises(DataStandardError):
         openpmd_hdf5.HDF5Reader(hdf5=os.path.join(rootdir, "blank.h5"))
+
+def test_HDF5Reader(h5_2d):
+    assert isinstance(h5_2d, plasmapy.classes.sources.HDF5Reader)
+    assert isinstance(h5_2d, plasmapy.classes.BasePlasma)
diff --git a/plasmapy/classes/tests/test_plasma_factory.py b/plasmapy/classes/tests/test_plasma_factory.py
index af37cd0d..6f5af036 100644
--- a/plasmapy/classes/tests/test_plasma_factory.py
+++ b/plasmapy/classes/tests/test_plasma_factory.py
@@ -1,10 +1,16 @@
 import astropy.units as u
 import numpy as np
 import os
+import pytest
 
 import plasmapy.classes
 from plasmapy.data.test import rootdir
 
+@pytest.fixture(scope='module')
+def h5(request):
+    h5 = plasmapy.classes.Plasma(hdf5=os.path.join(rootdir, "data00000255.h5"))
+    yield h5
+    h5.close()
 
 class TestPlasma(object):
     def test_patters(self):
@@ -32,8 +38,3 @@ def test_PlasmaBlob(self):
                                        particle=particle)
         assert isinstance(blob, plasmapy.classes.sources.PlasmaBlob)
         assert isinstance(blob, plasmapy.classes.BasePlasma)
-
-    def test_HDF5Reader(self):
-        h5 = plasmapy.classes.Plasma(hdf5=os.path.join(rootdir, "data00000255.h5"))
-        assert isinstance(h5, plasmapy.classes.sources.HDF5Reader)
-        assert isinstance(h5, plasmapy.classes.BasePlasma)

pip install -e .[dev]
parse_log_pytest
pytest
numpy>=1.13.0 scipy>=0.19.0 astropy>=2.0.0 colorama>=0.3.0 matplotlib>=2.0.0 h5py>=2.8.0 mpmath>=1.0.0 lmfit>=0.9.7 pytest pytest-cov pytest-xdist
apt-get update apt-get install -y gcc
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
alabaster==0.7.13
asteval==0.9.31
astropy==4.3.1
astropy-sphinx-theme==2.0
attrs @ file:///croot/attrs_1668696182826/work
Babel==2.14.0
certifi @ file:///croot/certifi_1671487769961/work/certifi
charset-normalizer==3.4.1
click==8.1.8
click-default-group==1.2.4
colorama==0.4.6
coverage==7.2.7
cycler==0.11.0
docutils==0.19
exceptiongroup==1.2.2
execnet==2.0.2
flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
fonttools==4.38.0
future==1.0.0
h5py==3.8.0
hypothesis==6.79.4
idna==3.10
imagesize==1.4.1
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1648562407465/work
importlib-resources==5.12.0
incremental==22.10.0
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
Jinja2==3.1.6
kiwisolver==1.4.5
lmfit==1.2.2
MarkupSafe==2.1.5
matplotlib==3.5.3
mpmath==1.3.0
numpy==1.21.6
numpydoc==1.5.0
packaging @ file:///croot/packaging_1671697413597/work
Pillow==9.5.0
-e git+https://github.com/PlasmaPy/PlasmaPy.git@c0735461d3c1cb487fabdf60ed131275d2775ece#egg=plasmapy
pluggy @ file:///tmp/build/80754af9/pluggy_1648042572264/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pyerfa==2.0.0.3
Pygments==2.17.2
pyparsing==3.1.4
pytest==7.1.2
pytest-arraydiff==0.6.1
pytest-astropy==0.11.0
pytest-astropy-header==0.2.2
pytest-cov==4.1.0
pytest-doctestplus==1.0.0
pytest-filter-subpackage==0.1.2
pytest-mock==3.11.1
pytest-remotedata==0.4.1
pytest-xdist==3.5.0
python-dateutil==2.9.0.post0
pytz==2025.2
requests==2.31.0
scipy==1.7.3
six==1.17.0
snowballstemmer==2.2.0
sortedcontainers==2.4.0
Sphinx==5.3.0
sphinx-astropy==1.9.1
sphinx-automodapi==0.16.0
sphinx-gallery==0.14.0
sphinx-rtd-theme==2.0.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jquery==4.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
towncrier==23.6.0
typing_extensions @ file:///croot/typing_extensions_1669924550328/work
uncertainties==3.1.7
urllib3==2.0.7
zipp @ file:///croot/zipp_1672387121353/work

name: PlasmaPy
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=22.1.0=py37h06a4308_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - flit-core=3.6.0=pyhd3eb1b0_0
  - importlib-metadata=4.11.3=py37h06a4308_0
  - importlib_metadata=4.11.3=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=22.0=py37h06a4308_0
  - pip=22.3.1=py37h06a4308_0
  - pluggy=1.0.0=py37h06a4308_1
  - py=1.11.0=pyhd3eb1b0_0
  - pytest=7.1.2=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py37h06a4308_0
  - typing_extensions=4.4.0=py37h06a4308_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.11.0=py37h06a4308_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - alabaster==0.7.13
      - asteval==0.9.31
      - astropy==4.3.1
      - astropy-sphinx-theme==2.0
      - babel==2.14.0
      - charset-normalizer==3.4.1
      - click==8.1.8
      - click-default-group==1.2.4
      - colorama==0.4.6
      - coverage==7.2.7
      - cycler==0.11.0
      - docutils==0.19
      - exceptiongroup==1.2.2
      - execnet==2.0.2
      - fonttools==4.38.0
      - future==1.0.0
      - h5py==3.8.0
      - hypothesis==6.79.4
      - idna==3.10
      - imagesize==1.4.1
      - importlib-resources==5.12.0
      - incremental==22.10.0
      - jinja2==3.1.6
      - kiwisolver==1.4.5
      - lmfit==1.2.2
      - markupsafe==2.1.5
      - matplotlib==3.5.3
      - mpmath==1.3.0
      - numpy==1.21.6
      - numpydoc==1.5.0
      - pillow==9.5.0
      - plasmapy==0.2.1.dev20+gc0735461
      - pyerfa==2.0.0.3
      - pygments==2.17.2
      - pyparsing==3.1.4
      - pytest-arraydiff==0.6.1
      - pytest-astropy==0.11.0
      - pytest-astropy-header==0.2.2
      - pytest-cov==4.1.0
      - pytest-doctestplus==1.0.0
      - pytest-filter-subpackage==0.1.2
      - pytest-mock==3.11.1
      - pytest-remotedata==0.4.1
      - pytest-xdist==3.5.0
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - requests==2.31.0
      - scipy==1.7.3
      - six==1.17.0
      - snowballstemmer==2.2.0
      - sortedcontainers==2.4.0
      - sphinx==5.3.0
      - sphinx-astropy==1.9.1
      - sphinx-automodapi==0.16.0
      - sphinx-gallery==0.14.0
      - sphinx-rtd-theme==2.0.0
      - sphinxcontrib-applehelp==1.0.2
      - sphinxcontrib-devhelp==1.0.2
      - sphinxcontrib-htmlhelp==2.0.0
      - sphinxcontrib-jquery==4.1
      - sphinxcontrib-jsmath==1.0.1
      - sphinxcontrib-qthelp==1.0.3
      - sphinxcontrib-serializinghtml==1.1.5
      - towncrier==23.6.0
      - uncertainties==3.1.7
      - urllib3==2.0.7
prefix: /opt/conda/envs/PlasmaPy

plasmapy/classes/sources/tests/test_openpmd_hdf5.py::test_HDF5Reader
plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD2D::test_has_electric_field_with_units plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD2D::test_correct_shape_electric_field plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD2D::test_has_charge_density_with_units plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD2D::test_correct_shape_charge_density plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD2D::test_has_magnetic_field plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD2D::test_has_electric_current plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD3D::test_has_electric_field_with_units plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD3D::test_correct_shape_electric_field plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD3D::test_has_charge_density_with_units plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD3D::test_correct_shape_charge_density plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD3D::test_has_magnetic_field plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMD3D::test_has_electric_current plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMDThetaMode::test_has_electric_field_with_units plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMDThetaMode::test_correct_shape_electric_field plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMDThetaMode::test_has_charge_density_with_units plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMDThetaMode::test_correct_shape_charge_density plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMDThetaMode::test_has_magnetic_field_with_units plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMDThetaMode::test_correct_shape_magnetic_field plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMDThetaMode::test_has_electric_current_with_units plasmapy/classes/sources/tests/test_openpmd_hdf5.py::TestOpenPMDThetaMode::test_correct_shape_electric_current plasmapy/classes/sources/tests/test_openpmd_hdf5.py::test_fetch_units[openPMD_dims0-expected0] plasmapy/classes/sources/tests/test_openpmd_hdf5.py::test_fetch_units[openPMD_dims1-expected1] plasmapy/classes/sources/tests/test_openpmd_hdf5.py::test_fetch_units[openPMD_dims2-expected2] plasmapy/classes/sources/tests/test_openpmd_hdf5.py::test_fetch_units[openPMD_dims3-expected3] plasmapy/classes/sources/tests/test_openpmd_hdf5.py::test_unavailable_hdf5 plasmapy/classes/sources/tests/test_openpmd_hdf5.py::test_non_openpmd_hdf5 plasmapy/classes/tests/test_plasma_factory.py::TestPlasma::test_patters plasmapy/classes/tests/test_plasma_factory.py::TestPlasma::test_Plasma3D plasmapy/classes/tests/test_plasma_factory.py::TestPlasma::test_PlasmaBlob
.travis.yml plasmapy/classes/sources/openpmd_hdf5.py tox.ini azure-pipelines.yml
.travis.yml plasmapy/classes/sources/openpmd_hdf5.py tox.ini azure-pipelines.yml