summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--setup.py53
1 files changed, 32 insertions, 21 deletions
diff --git a/setup.py b/setup.py
index f345117..587e695 100644
--- a/setup.py
+++ b/setup.py
@@ -7,14 +7,42 @@ import sys
from setuptools import find_packages, setup
from setuptools.command.test import test as TestCommand
-test_required = [
+extras_require = {
+ # These are all the drivers' dependencies. Optional dependencies are
+ # listed as mandatory for the feature.
+ "accucheck_reports": [],
+ "contourusb": ["construct", "hidapi"],
+ "fsinsulinx": ["construct", "hidapi"],
+ "fslibre": ["construct", "hidapi"],
+ "fsoptium": ["pyserial"],
+ "fsprecisionneo": ["construct", "hidapi"],
+ "otultra2": ["pyserial"],
+ "otultraeasy": ["construct", "pyserial"],
+ "otverio2015": ["construct"],
+ "otverioiq": ["construct", "pyserial"],
+ "sdcodefree": ["construct", "pyserial"],
+ "td4277": ["construct", "pyserial", "hidapi"],
+ # These are not drivers, but rather tools and features.
+ "reversing_tools": ["usbmon-tools"],
+}
+
+tests_require = [
"absl-py",
"construct>=2.9",
"pytest>=3.6.0",
"pytest-timeout>=1.3.0",
- "pyserial",
]
+# Development and testing dependencies
+extras_require["dev"] = tests_require + ["pre-commit", "mypy"]
+
+all_require = []
+for extra_require in extras_require.values():
+ all_require.extend(extra_require)
+
+tests_require.extend(all_require)
+extras_require["all"] = all_require
+
class PyTestCommand(TestCommand):
def run_tests(self):
@@ -53,25 +81,8 @@ setup(
packages=find_packages(exclude=["test", "udev"]),
data_files=[("lib/udev/rules", ["udev/69-glucometerutils.rules"]),],
install_requires=["attrs",],
- tests_require=test_required,
- extras_require={
- # These are all the drivers' dependencies. Optional dependencies are
- # listed as mandatory for the feature.
- "accucheck_reports": [],
- "contourusb": ["construct", "hidapi"],
- "fsinsulinx": ["construct", "hidapi"],
- "fslibre": ["construct", "hidapi"],
- "fsoptium": ["pyserial"],
- "fsprecisionneo": ["construct", "hidapi"],
- "otultra2": ["pyserial"],
- "otultraeasy": ["construct", "pyserial"],
- "otverio2015": ["construct"],
- "otverioiq": ["construct", "pyserial"],
- "sdcodefree": ["construct", "pyserial"],
- "td4277": ["construct", "pyserial", "hidapi"],
- # Development and testing dependencies
- "dev": test_required + ["pre-commit", "mypy"],
- },
+ tests_require=tests_require,
+ extras_require=extras_require,
entry_points={"console_scripts": ["glucometer=glucometerutils.glucometer:main"]},
cmdclass={"test": PyTestCommand,},
)