From 5f8ef3fe9ae284e9c7ed9d0c973e104c420204b2 Mon Sep 17 00:00:00 2001
From: Daniel Hornung <d.hornung@indiscale.com>
Date: Tue, 19 Nov 2024 09:59:27 +0100
Subject: [PATCH] MAINT: Explicit dependencies for testing and documentation.

---
 .gitlab-ci.yml |  4 ++--
 setup.py       | 18 +++++++++++++-----
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f9702235..cc0a1f73 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -139,9 +139,9 @@ unittest_py38:
   stage: unittest
   image: python:3.8
   script: &python_test_script
-    - pip install pynose pandas pytest pytest-cov gitignore-parser openpyxl>=3.0.7 xlrd==1.2 h5py
+    - pip install pynose pandas
     - pip install git+https://gitlab.indiscale.com/caosdb/src/caosdb-pylib.git@dev
-    - pip install .
+    - pip install .[test,h5-crawler,gitignore-parser]
     - pytest --cov=caosadvancedtools unittests
 
 unittest_py310:
diff --git a/setup.py b/setup.py
index a7146ead..08908baa 100755
--- a/setup.py
+++ b/setup.py
@@ -165,13 +165,21 @@ def setup_package():
                           ],
         extras_require={"h5-crawler": ["h5py>=3.3.0", ],
                         "gitignore-parser": ["gitignore-parser >=0.1.0", ],
+                        "doc": [
+                            "sphinx",
+                            "sphinx-autoapi",
+                            "sphinx-rtd-theme",
+                            "recommonmark >= 0.6.0",
+                        ],
+                        "test": [
+                            "gitignore-parser",
+                            "pytest",
+                            "pytest-pythonpath",
+                            "pytest-cov",
+                            "coverage>=4.4.2",
+                        ],
                         },
         setup_requires=["pytest-runner>=2.0,<3dev"],
-        tests_require=["pytest",
-                       "pytest-pythonpath",
-                       "pytest-cov",
-                       "coverage>=4.4.2",
-                       ],
         packages=find_packages('src'),
         package_dir={'': 'src'},
         entry_points={"console_scripts": [
-- 
GitLab