Skip to content

TestPlatforms

Michael Ekstrand edited this page Dec 2, 2019 · 9 revisions

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.

Clone this wiki locally