Copyright (C) 2012-2020 Rudolf Cardinal (firstname.lastname@example.org).
This file is part of CamCOPS.
CamCOPS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
CamCOPS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with CamCOPS. If not, see <https://www.gnu.org/licenses/>.
Single place to determine the Python version required.
Currently that is a minimum of v3.6 (as of CamCOPS v2.3.1, 2019). That enables:
but not, amongst other features:
assignment expressions, the “walrus” operator,
=syntax to debug a variable (v3.8)
new dictionary merge/update syntax (v3.9)
string prefix/suffix removal functions (v3.9)
use of generics like
List) for type hinting (v3.9)
Note that one can set the environment variable
PYTHONDEVMODE=1 to enable
extra checks, such as whether there are deprecation warnings with newer Python
Note that Python versions are referred to in:
and separately (not necessarily within a CamCOPS virtual environment) in
Asserts that this version of Python meets our minimum requirements. This function should be used except in installation environments where CamCOPS modules are unavailable.
Note that this module/function should use only Python 2 syntax!