From f3a52c4a130a266bd4b464ac74cd05a05d28f361 Mon Sep 17 00:00:00 2001
From: Cammille Carinan <cammille.carinan@xfel.eu>
Date: Fri, 14 May 2021 18:58:59 +0200
Subject: [PATCH] Use extra-requires to sort libraries according to usage

---
 setup.py | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/setup.py b/setup.py
index 776d3bd..fc1c33f 100644
--- a/setup.py
+++ b/setup.py
@@ -8,6 +8,13 @@ with open('VERSION') as f:
     _version = _version.strip("\n")
 
 
+basic_analysis_reqs = ['numpy', 'scipy',]  # and is readily available in Karabo
+advanced_analysis_reqs = [
+    'pandas', 'imageio', 'xarray>=0.13.0', 'h5py', 'h5netcdf',]
+interactive_reqs = ['ipykernel', 'matplotlib', 'tqdm',]
+maxwell_reqs = ['joblib', 'extra_data', 'euxfel_bunch_pattern>=0.6']
+
+
 setup(name='toolbox_scs',
       version=_version,
       description="A collection of code for the SCS beamline",
@@ -20,18 +27,11 @@ setup(name='toolbox_scs',
       package_dir={'': 'src'},
       packages=find_packages('src'),
       package_data={},
-      install_requires=[
-          'joblib',
-          'imageio',
-          'xarray>=0.13.0',
-          'h5py',
-          'h5netcdf',
-          'numpy',
-          'matplotlib',
-          'pandas',
-          'scipy',
-          'tqdm',
-          'extra_data',
-          'euxfel_bunch_pattern>=0.6',
-      ],
-      )
+      install_requires=basic_analysis_reqs,
+      extras_require={
+          'advanced': advanced_analysis_reqs,
+          'interactive': interactive_reqs,
+          'maxwell': advanced_analysis_reqs + interactive_reqs + maxwell_reqs,
+          'test': ['pytest']
+      }
+)
-- 
GitLab