diff --git a/MANIFEST.in b/MANIFEST.in
index 8da04a047d30a631a00f96cb01f44ab07ca86077..98400d63ce317eeb76a3f8e39073e0ddf3020b32 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,6 @@
 include README.rst
 include LICENSE
 include requirements.txt
+include requirements-dev.txt
+
+recursive-include km3net_testdata/data
diff --git a/km3net_testdata/__init__.py b/km3net_testdata/__init__.py
index 4dace6341f13dd2d8473a41a08b4a580d3723325..71026206712c5e19e9832892fa27bc7c47ef01c6 100644
--- a/km3net_testdata/__init__.py
+++ b/km3net_testdata/__init__.py
@@ -1,8 +1,39 @@
+from __future__ import absolute_import
+
 import os
 from pkg_resources import get_distribution, DistributionNotFound
 
-version = get_distribution(__name__).version
+import importlib_resources
+
+try:
+    version = get_distribution(__name__).version
+except DistributionNotFound:
+    version = "unknown version"
+__version__ = version
+
+
+try:
+    from importlib_resources import as_file
+except ImportError:
+    from importlib_resources.trees import as_file
+
+try:
+    from contextlib import ExitStack
+except ImportError:
+    from contextlib2 import ExitStack
+
+import atexit
+
+
+def data_path(filename, raise_missing=True):
+    """Return the absolute filepath for a given filename in test data"""
+    ref = importlib_resources.files("km3net_testdata.data") / filename
+    file_manager = ExitStack()
+    atexit.register(file_manager.close)
+    file_path = file_manager.enter_context(as_file(ref))
+    if raise_missing and not file_path.exists():
+        raise RuntimeError("Unknown or missing file: {0}".format(filename))
+    return str(file_path)
 
 
-def data_path(*path_elements):
-    return os.path.join(*path_elements)
+__all__ = ["data_path"]
diff --git a/km3net_testdata/data/__init__.py b/km3net_testdata/data/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/km3net_testdata/data/km3net_offline.root b/km3net_testdata/data/km3net_offline.root
new file mode 100644
index 0000000000000000000000000000000000000000..272d3abff23c583844227660b0673b5fbfdd8639
Binary files /dev/null and b/km3net_testdata/data/km3net_offline.root differ
diff --git a/km3net_testdata/data/km3net_online.root b/km3net_testdata/data/km3net_online.root
new file mode 100644
index 0000000000000000000000000000000000000000..8e44f95751fa4baae7ffd2adc09bd15e0bb7494e
Binary files /dev/null and b/km3net_testdata/data/km3net_online.root differ
diff --git a/requirements.txt b/requirements.txt
index cba8d8860740c8cc71720b2c8640c6b4d47ca4e2..81b4bb10508680d3fc8ba9369bc0af8493bf014b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1 +1,2 @@
+importlib_resources
 setuptools_scm