|
| 1 | +import json |
1 | 2 | import sys |
2 | 3 |
|
3 | | -min_version, max_version = ((3, 10), "3.10"), ((3, 12), "3.12") |
| 4 | +from packaging.version import parse |
| 5 | +from setuptools import find_packages, setup |
| 6 | + |
| 7 | +with open("python_versions.json", "r") as f: |
| 8 | + supported_python_versions = json.load(f) |
4 | 9 |
|
5 | | -if not (min_version[0] <= sys.version_info[:2] <= max_version[0]): |
6 | | - # Python 3.5 does not support f-strings |
| 10 | +python_versions = [parse(v) for v in supported_python_versions] |
| 11 | +min_version = min(python_versions) |
| 12 | +max_version = max(python_versions) |
| 13 | +if not ( |
| 14 | + min_version <= parse(".".join([str(v) for v in sys.version_info[:2]])) <= max_version |
| 15 | +): |
7 | 16 | py_version = ".".join([str(v) for v in sys.version_info[:3]]) |
| 17 | + # NOTE: Python 3.5 does not support f-strings |
8 | 18 | error = ( |
9 | | - "\n----------------------------------------\n" |
10 | | - "Error: Vivarium_testing_utils runs under python {min_version}-{max_version}.\n" |
11 | | - "You are running python {py_version}".format( |
12 | | - min_version=min_version[1], max_version=max_version[1], py_version=py_version |
| 19 | + "\n--------------------------------------------\n" |
| 20 | + "Error: Vivarium Testing Utils runs under python {min_version}-{max_version}.\n" |
| 21 | + "You are running python {py_version}.\n".format( |
| 22 | + min_version=min_version.base_version, |
| 23 | + max_version=max_version.base_version, |
| 24 | + py_version=py_version, |
13 | 25 | ) |
| 26 | + + "--------------------------------------------\n" |
14 | 27 | ) |
15 | 28 | print(error, file=sys.stderr) |
16 | 29 | sys.exit(1) |
|
0 commit comments