diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index e7bc28acad38aaf299d7427117510e10f57a903f..4ad0d623a04d58df2c5174b3a5bbfc0845749a8b 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -29,6 +29,6 @@ RUN pip3 install recommonmark sphinx-rtd-theme
 COPY . /git
 RUN rm -r /git/.git \
     && mv /git/.docker/pycaosdb.ini /git/integrationtests
-RUN cd /git && pip3 install .
+RUN cd /git && pip3 install .[h5-crawler]
 WORKDIR /git/integrationtests
 CMD /wait-for-it.sh caosdb-server:10443 -t 500 -- ./test.sh
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eda225cc2e280c7ca326fe563ef94c0122684eda..7844075f1d7cd745b96e004c7f72dfcf98b6e8a4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Crawler documentation
 - Proof-of-concept integration with Bloxberg.
 - Introduce a cfood that can create a Record structure based on the contents of a hdf5 file
+  h5py is now an optional dependency
 
 ### Changed ###
 
diff --git a/README_SETUP.md b/README_SETUP.md
index 19f051636952945fe76b2ab752264031ac43378d..0ac69cf928ae0267e60a8a5ec576b5117236e24c 100644
--- a/README_SETUP.md
+++ b/README_SETUP.md
@@ -12,6 +12,11 @@ Dependencies will be installed automatically if you use the below described proc
 - `caosdb>=0.4.0`                                      
 - `openpyxl>=3.0.0`
 - `xlrd>=1.2.0`
+-  `pandas>=1.2.0`
+- `numpy>=1.17.3`
+
+If you want to use the optional h5-crawler the following dependencies will be installed additionally:
+- `h5py>=3.3.0`
 
 For testing:
 - `tox`
@@ -21,6 +26,9 @@ For testing:
 - `pip install . --user`
 - `pip install tox --user`
 
+Optional h5-crawler:
+- `pip install .[h5-crawler] --user`
+
 ## Run Unit Tests
 `tox`
 
diff --git a/setup.py b/setup.py
index 89b7f10674c4871c8eaedaad0355782d92a09125..772866537d02b71adddfab2a351a3e3372b05ab2 100755
--- a/setup.py
+++ b/setup.py
@@ -159,8 +159,9 @@ def setup_package():
                           "pandas>=1.2.0",
                           "numpy>=1.17.3",
                           "xlrd>=2.0",
-                          "h5py",
                           ],
+        extras_require={"h5-crawler": ["h5py>=3.3.0", ],
+                        },
         packages=find_packages('src'),
         package_dir={'': 'src'},
         setup_requires=["pytest-runner>=2.0,<3dev"],
diff --git a/tox.ini b/tox.ini
index d41e9930870390ea52f447bc91fbcff3c4e32a0f..1b3cd4ef0d39955197448ace9fdf5d26ea6749b4 100644
--- a/tox.ini
+++ b/tox.ini
@@ -9,4 +9,5 @@ deps=nose
     pytest-cov
     openpyxl
     xlrd == 1.2
+    h5py
 commands=py.test --cov=caosadvancedtools -vv {posargs}