From 266f25504b5f38b63fc1bf6269cde8e7878af8da Mon Sep 17 00:00:00 2001
From: Johannes Schumann <johannes.schumann@fau.de>
Date: Thu, 2 Dec 2021 14:40:10 +0100
Subject: [PATCH] Move requirements to own folder and introduce extra reqs

---
 requirements-dev.txt => requirements/dev.txt |  0
 requirements/extras.txt                      |  0
 requirements.txt => requirements/install.txt |  0
 setup.py                                     | 15 +++++++++------
 4 files changed, 9 insertions(+), 6 deletions(-)
 rename requirements-dev.txt => requirements/dev.txt (100%)
 create mode 100644 requirements/extras.txt
 rename requirements.txt => requirements/install.txt (100%)

diff --git a/requirements-dev.txt b/requirements/dev.txt
similarity index 100%
rename from requirements-dev.txt
rename to requirements/dev.txt
diff --git a/requirements/extras.txt b/requirements/extras.txt
new file mode 100644
index 0000000..e69de29
diff --git a/requirements.txt b/requirements/install.txt
similarity index 100%
rename from requirements.txt
rename to requirements/install.txt
diff --git a/setup.py b/setup.py
index e7c6f73..02c36a6 100644
--- a/setup.py
+++ b/setup.py
@@ -15,11 +15,11 @@ DESCRIPTION = 'GiBUU tools for KM3NeT'
 __author__ = 'Johannes Schumann'
 __email__ = 'jschumann@km3net.de'
 
-with open('requirements.txt') as fobj:
-    REQUIREMENTS = [l.strip() for l in fobj.readlines()]
 
-with open('requirements-dev.txt') as fobj:
-    DEV_REQUIREMENTS = [l.strip() for l in fobj.readlines()]
+def read_requirements(kind):
+    with open(os.path.join('requirements', kind + '.txt')) as fobj:
+        requirements = [l.strip() for l in fobj.readlines()]
+    return requirements
 
 setup(
     name=PACKAGE_NAME,
@@ -35,8 +35,11 @@ setup(
         'write_to': '{}/version.txt'.format(PACKAGE_NAME),
         'tag_regex': r'^(?P<prefix>v)?(?P<version>[^\+]+)(?P<suffix>.*)?$',
     },
-    install_requires=REQUIREMENTS,
-    extras_require={'dev': DEV_REQUIREMENTS},
+    install_requires=read_requirements("install"),
+    extras_require={
+        kind: read_requirements(kind)
+        for kind in ["dev", "extras"]
+    },
     python_requires='>=3.0',
     entry_points={'console_scripts': ['km3buu=km3buu.cmd:main']},
     classifiers=[
-- 
GitLab