diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b7f51c815d462e33d7674584d68dd8318d21f902
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,43 @@
+# This file is a template, and might need editing before it works on your project.
+# To contribute improvements to CI/CD templates, please follow the Development guide at:
+# https://docs.gitlab.com/ee/development/cicd/templates.html
+# This specific template is located at:
+# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml
+
+# Official language image. Look for the different tagged releases at:
+# https://hub.docker.com/r/library/python/tags/
+image: python:3.8
+
+# Change pip's cache directory to be inside the project directory since we can
+# only cache local items.
+variables:
+  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+
+# Pip's cache doesn't store the python packages
+# https://pip.pypa.io/en/stable/reference/pip_install/#caching
+#
+# If you want to also cache the installed packages, you have to install
+# them in a virtualenv and cache it as well.
+cache:
+  paths:
+    - .cache/pip
+    - .tox/.tox
+
+
+test:
+  script:
+    - pip install tox flake8 pytest 
+    - tox 
+
+
+# pages:
+#   script:
+#     - pip install sphinx sphinx-rtd-theme
+#     - cd doc
+#     - make html
+#     - mv build/html/ ../public/
+#   artifacts:
+#     paths:
+#       - public
+#   rules:
+#     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
diff --git a/src/zarr_tools/_tests/__init__.py b/src/zarr_tools/_tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/zarr_tools/_tests/test_import.py b/src/zarr_tools/_tests/test_import.py
new file mode 100644
index 0000000000000000000000000000000000000000..02499284108768b3ffa8cd4ed84b68715bc1c00a
--- /dev/null
+++ b/src/zarr_tools/_tests/test_import.py
@@ -0,0 +1 @@
+from zarr_tools import convert, __main__
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000000000000000000000000000000000000..38761c41db7b6d096a952c817e6c2368cb6dd46f
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,27 @@
+# content of: tox.ini , put in same dir as setup.py
+[tox]
+envlist = clean,py38,py39, report
+requires = tox-conda
+[testenv]
+usedevelop=True
+commands =
+    pytest --cov --cov-append --cov-report=term-missing
+deps =
+    pytest
+    pytest-cov
+depends =
+    {py38,py39}: clean
+    report: py38,py39
+    
+[testenv:report]
+deps = coverage
+skip_install = true
+commands =
+    coverage report
+    coverage html
+
+[testenv:clean]
+deps = coverage
+skip_install = true
+commands = coverage erase
+