-
Notifications
You must be signed in to change notification settings - Fork 62
TestPlatforms
We try to make LKPY usable in a wide range of environments. Some of these are routinely exercised in our CI environment; others require manual testing.
Our goal is to support the following platforms:
- Currently-supported Conda on all platforms
- System Python on latest LTS or stable release of major distributions (RHEL/CentOS, Ubuntu, Debian)
- Current official Python install on Windows
As of March 2019, this means we support Python 3.6, the version shipped in Ubuntu Bionic. All LKPY code must be compatible with Python 3.6, which we currently enforce in CI through a build using vanilla Python 3.6 on 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. One specific class of such optimizations is using direct MKL calls (typically via CFFI) to accelerate some operations; we always provide a fallback using SciPy.
This results in the following support matrix, all tested via CI:
Platform | Source | Version | Notes |
---|---|---|---|
Linux | Vanilla | 3.6 | |
Linux | Vanilla | 3.7 | |
Linux | Vanilla | 3.9 | Disabled pending llvmlite |
Linux | Conda | 3.6 | |
Linux | Conda | 3.7 | |
Linux | Conda | 3.8 | |
Windows | Conda | 3.6 | |
Windows | Conda | 3.7 | |
Windows | Conda | 3.8 | |
Windows | Vanilla | 3.7 | |
Windows | Vanilla | 3.8 | Disabled pending llvmlite |
macOS | Conda | 3.6 | |
macOS | Conda | 3.7 | |
macOS | Conda | 3.8 |
We are open to considering support for non-Conda Python on macOS, and this is easier now that we do not have Cython in the build process.