-
Notifications
You must be signed in to change notification settings - Fork 62
TestPlatforms
We try to make LKPY usable in a wide range of test environments. Some of these are routinely exercised in our CI environment; others require manual testing.
Our basic target is to support Python version 3.5 and later on Windows, macOS, and Linux. We optimize for Conda-based installs, but LKPY should work in any supported Python environment. This optimization priority means that we are fine with optimizations that work in Conda-provided Python environments but are harder to get working in other settings.
Our minimum Python version is the latest available in default repositories for the current stable or long-term support release of the major Linux distributions (Ubuntu, CentOS/RHEL, and Debian). Since RHEL7 does not ship Python 3, we use the version in EPEL as our baseline. As of August 2018, this means we support Python 3.5, the latest shipped in Debian Stretch.
Pythons:
- Conda Python 3.5–3.7, Conda GCC
- System Python (when >= 3.5), System GCC
- Vanilla Python 3.5–3.7 (with pyenv or Docker), System GCC
Distributions:
- Conda (any Linux distro)
- Debian Stable (Stretch)
- Latest Ubuntu LTS
- Latest RHEL/CentOS with Python from EPEL
- Alpine is nice-to-have but not currently tested
CI runs Vanilla Python 3.5-3.6 and Conda Python 3.6–3.7 on Debian Stretch. Test coverage is from Conda Python 3.6.
On Windows, the Cython code needs to be compiled with Visual Studio 2015 or better.
Pythons:
- Conda Python 3.5–3.7
- Vanilla Python 3.5–3.7 (Scoop is useful for installing)
CI runs Conda Python 3.6.
OpenMP support on macOS is finicky and dependent on compiler/OpenMP/mkl matches.
Pythons:
- Conda Python 3.5–3.7, Conda clang; parallel builds require
USE_OPENMP=intel
andllvm-openmp
- MacPorts Python 3.5–3.7, MacPorts GCC, GNU OpenMP
Potential future Pythons to target:
- Homebrew Python
- Vanilla Python 3.5–3.7 (from pyenv?), system
clang
, no OpenMP
CI runs in Conda Python 3.6 with USE_OPENMP=intel
.