diff --git a/enstools/compression/analyzer/AnalysisOptions.py b/enstools/compression/analyzer/AnalysisOptions.py
index 99bb0ae8fd329ee088e65792f05c849ec45e89ac..349b1b2b223f518950ba46e2d3678e6a818236e9 100644
--- a/enstools/compression/analyzer/AnalysisOptions.py
+++ b/enstools/compression/analyzer/AnalysisOptions.py
@@ -67,17 +67,10 @@ class AnalysisParameters:
 
     @property
     def compressors(self):
-        # Check library availability and select proper analysis_function
-        if check_libpressio_availability():
-            if self.options.compressor is Compressors.NONE or self.options.compressor is Compressors.ALL:
-                return [Compressors.ZFP, Compressors.SZ]
-            else:
-                return [self.options.compressor]
+        if self.options.compressor is Compressors.NONE or self.options.compressor is Compressors.ALL:
+            return [Compressors.ZFP, Compressors.SZ]
         else:
-            if self.options.compressor is not Compressors.NONE:
-                assert self.options.compressor == Compressors.ZFP, "The only available option without libpressio is 'zfp'."
-
-            return [Compressors.ZFP]
+            return [self.options.compressor]
 
     def get_compressor_mode_combinations(self):
         """
diff --git a/setup.py b/setup.py
index ea274e61dbaea29d6ded73f8ec79a277b248b0c0..d6da1aee2e7ad7e14b6e40f866abb4cd845d9b5b 100644
--- a/setup.py
+++ b/setup.py
@@ -31,6 +31,7 @@ setup(name="enstools-compression",
       packages=find_enstools_packages(),
 
       install_requires=[
+          "hdf5plugin @ git+https://github.com/orioltinto/hdf5plugin",
           "enstools>=2022.9.3",
           "enstools-encoding>=0.1.9",
           "zfpy",
diff --git a/tests/test_analyzer.py b/tests/test_analyzer.py
index c757c5f45e348540bf5f87a9e771b980179c820a..070f746dbc566a94ffdd7e704766224ec348a166 100644
--- a/tests/test_analyzer.py
+++ b/tests/test_analyzer.py
@@ -2,7 +2,7 @@ from os.path import isfile, join
 
 import pytest
 
-from enstools.encoding.api import check_sz_availability, check_libpressio_availability
+from enstools.encoding.api import check_libpressio_availability
 
 from utils import file_size, wrapper, TestClass
 
@@ -53,7 +53,6 @@ class TestAnalyzer(TestClass):
                     raise AssertionError(f"The resulting compression ratio of {metrics[var][cr_label]:.2f}"
                                          f"x is not close enough to the target of {thresholds[cr_label]:.2f}")
 
-    @pytest.mark.skipif(not check_libpressio_availability(), reason="Requires libpressio")
     def test_sz_analyzer(self):
         from enstools.compression.api import analyze_files
         input_tempdir = self.input_directory_path
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 048115af61490d9dadcd1c5ebfc31eafa2baca23..2d2c071f5e7a847947ec0a6b4130256f43fcfe44 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -3,7 +3,7 @@ Tests for the commandline interface.
 """
 
 from os.path import isfile, join
-from enstools.encoding.compressors.availability_checks import check_sz_availability, check_libpressio_availability
+from enstools.encoding.compressors.availability_checks import check_libpressio_availability
 
 import pytest
 from utils import TestClass
@@ -91,8 +91,6 @@ class TestCommandLineInterface(TestClass):
         mocker.patch("sys.argv", commands)
         enstools.compression.cli.main()
 
-    @pytest.mark.skipif(not check_sz_availability() and not check_libpressio_availability(),
-                        reason="Requires SZ and libpressio")
     def test_analyze_with_sz_and_plugin(self, mocker):
         """
         Test enstools-compressor analyze using a custom plugin.
diff --git a/tests/test_compressor.py b/tests/test_compressor.py
index 8d845fbd393bff33620a49f7c15caed2667e36bb..b0638f603702c18efe2d444351a434e769f15c76 100644
--- a/tests/test_compressor.py
+++ b/tests/test_compressor.py
@@ -2,8 +2,6 @@ from os.path import isfile, join
 
 import pytest
 
-from enstools.encoding.api import check_sz_availability
-
 from utils import file_size, wrapper, TestClass
 
 folders = None
@@ -76,7 +74,6 @@ class TestCompressor(TestClass):
             final_size = file_size(output_file_path)
             assert initial_size > final_size
 
-    @pytest.mark.skipif(not check_sz_availability(), reason="Requires SZ")
     def test_filters_availability(self):
         from enstools.encoding.api import check_filters_availability
         assert check_filters_availability()
diff --git a/tests/test_emulate.py b/tests/test_emulate.py
index 87fb9727a71a53c5c4c07330ce191fab05dfb811..5ab9f75c6cc8dd08575827d5debfaab728375eac 100644
--- a/tests/test_emulate.py
+++ b/tests/test_emulate.py
@@ -1,4 +1,4 @@
-from enstools.encoding.api import Compressors, CompressionModes, check_sz_availability, check_libpressio_availability
+from enstools.encoding.api import Compressors, CompressionModes, check_libpressio_availability
 from utils import TestClass
 import numpy as np
 
@@ -52,7 +52,6 @@ class TestEmulators:
         recovered_data = analysis_compressor.compress_and_decompress(data)
         print(f"Compression Ratio:{analysis_compressor.compression_ratio():.2f}")
 
-    @pytest.mark.skipif(not check_sz_availability(), reason="Requires SZ filter.")
     def test_FilterAnalysisCompressor_with_SZ(self):
         from enstools.compression.emulators import FilterEmulator
         settings = {
@@ -83,7 +82,6 @@ class TestEmulate(TestClass):
             for compression_specification in compression_specifications:
                 ds, _ = emulate_compression_on_dataset(ds, compression=compression_specification)
 
-    @pytest.mark.skipif(not check_sz_availability(), reason="Requires SZ filter.")
     def test_emulation_with_sz(self):
         from enstools.io import read
         from enstools.compression.emulation import emulate_compression_on_dataset
diff --git a/tests/test_sz.py b/tests/test_sz.py
index f2bdc6c02db42ade338ce7a83707c26f6b730175..a2187dfc5cc7e0fdf213dea78b8a322dba138fa7 100644
--- a/tests/test_sz.py
+++ b/tests/test_sz.py
@@ -2,7 +2,7 @@ from os.path import join
 
 import pytest
 
-from enstools.encoding.api import check_sz_availability, check_libpressio_availability
+from enstools.encoding.api import check_libpressio_availability
 
 from utils import wrapper, TestClass
 
@@ -10,14 +10,6 @@ folders = None
 
 
 class TestSZ(TestClass):
-    @pytest.mark.skipif(check_sz_availability(), reason="Requires SZ not being available")
-    def test_sz_checker(self):
-        from enstools.encoding.errors import EnstoolsCompressionError
-        compression = "lossy,sz,pw_rel,0.1"
-        with pytest.raises(EnstoolsCompressionError):
-            wrapper(self, compression=compression)
-
-    @pytest.mark.skipif(not check_libpressio_availability(), reason="Requires libpressio")
     def test_sz_analyzer(self):
         from enstools.compression.api import analyze_files
         # Check that the compression without specifying compression parameters works
@@ -26,17 +18,14 @@ class TestSZ(TestClass):
             input_path = self.input_directory_path / ds
             analyze_files(file_paths=input_path, compressor="sz")
 
-    @pytest.mark.skipif(not check_sz_availability(), reason="Requires SZ")
     def test_compress_sz_pw_rel(self):
         compression = "lossy,sz,pw_rel,0.1"
         wrapper(self, compression=compression)
 
-    @pytest.mark.skipif(not check_sz_availability(), reason="Requires SZ")
     def test_compress_sz_abs(self):
         compression = "lossy,sz,abs,0.01"
         wrapper(self, compression=compression)
 
-    @pytest.mark.skipif(not check_sz_availability(), reason="Requires SZ")
     def test_compress_sz_rel(self):
         compression = "lossy,sz,rel,0.001"
         wrapper(self, compression=compression)