From 10c547b82bbcf64239cca79daab45bfd6bfdc11f Mon Sep 17 00:00:00 2001
From: "i.nueske" <i.nueske@indiscale.com>
Date: Thu, 28 Nov 2024 13:32:55 +0100
Subject: [PATCH] DOC: Document pip extras in README_SETUP.md and remove
 outdated dependencies section in favour of referring to setup.py

---
 README_SETUP.md | 45 +++++++++++++++++++--------------------------
 1 file changed, 19 insertions(+), 26 deletions(-)

diff --git a/README_SETUP.md b/README_SETUP.md
index 3a7f0197..0018f044 100644
--- a/README_SETUP.md
+++ b/README_SETUP.md
@@ -1,41 +1,40 @@
 # Getting started
 
 ## Download
-The recommended way is:
+DOCThe recommended way to download is:
 ```
 # Clone the repository:
 git clone 'https://gitlab.com/caosdb/caosdb-advanced-user-tools'
 ```
 
-## Dependencies
-Dependencies will be installed automatically if you use the below described
-procedure.
-- `caosdb>=0.6.0`
-- `openpyxl>=3.0.7`
-- `xlrd>=1.2.0`
-- `pandas>=1.2.0`
-- `numpy>=1.17.3`
+## Installation
+`pip install . --user`
 
-If you want to use the optional h5-crawler the following dependencies will be
-installed additionally:
-- `h5py>=3.3.0`
+To test with tox:  
+`pip install tox --user`  
 
-For testing:
-- `tox`
+#### Additional dependencies
 
+To install dependencies used by optional functionality, the following pip extras 
+keywords are defined:
+- `test` for testing with pytest
+- `doc` for building the documentation
+- `dev` for code formatting
+- `h5` for the h5-crawler
+- `all` to install all optional dependencies
 
-## Installation
-- `pip install . --user`
-- `pip install tox --user`
+These extras can be installed using: `pip install .[KEYWORD] --user`  
 
-Optional h5-crawler:
-- `pip install .[h5-crawler] --user`
+A current list of the dependencies installed with this program as well as those installed with 
+the keywords can be found in `setup.py`s `setup_package()` method, in the `metadata` dictionary
+entries `install_requires` and `extras_require`.
 
 ## Run Unit Tests
 
 - All tests: `tox`
 - One specific test with tox: `tox -- unittests/test_myusecase.py -k expression`
-- Or even using only pytest: `pytest unittests/test_myusecase.py -k expression`
+- Using only pytest: `pytest unittests` or for running only one test 
+  `pytest unittests/test_myusecase.py -k expression`
 
 ## Run Integration Tests Locally
 
@@ -60,12 +59,6 @@ with the Googly style (see link below).
 
 Build documentation in `build/` with `make doc`.
 
-### Requirements ##
-
-- `sphinx`
-- `sphinx-autoapi`
-- `sphinx-rtd-theme`
-- `recommonmark >= 0.6.0`
 
 ### How to contribute ###
 
-- 
GitLab