‹‹‹ Blog Overview

Cross-platform Python with Wine and Jupyter
'wenv' and 'wenv-kernel'

I built and published two little tools, wenv and wenv-kernel. They allow to run Windows-versions of [C]Python on top of Wine on Linux, MacOS or BSD.

  • BSD
  • Linux
  • Python
  • Python Package
  • Release
  • Unix
  • Windows
  • Wine
  • ipython
  • jupyter

wenv handles the required plumbing related to making the Python interpreter and a number of Python modules work on Wine. It creates isolated virtual environments which can be transparently used from a Unix command line and which seamlessly integrate into Unix Python virtual environments.

wenv-kernel allows to use the Python interpreters managed by wenv as Jupyter kernels.

Why? Testing Windows-support of Python code, easily accessing Windows-only libraries / DLLs, talking to Windows-only drivers, etc.

Wine has become rather mature and supports Python well, but getting Python and related tooling properly installed on Wine has been an issue for ages. wenv automates this bit completely. I have been successfully running current and past versions of wenv's code in production settings for many years now. It has even been used on super computers and actually driven a telescope. For what it is worth, wenv is stable, but considering that Wine is involved it is more or less permanently labeled as beta.

Feedback is highly welcomed. What is missing? What should be improved? What should look / work totally different? What is broken?

wenv-kernel, IPC between Linux-based and Wine-based Python interpreters
Figure 1: wenv-kernel, IPC between Linux-based and Wine-based Python interpreters
wenv-kernel, Linux-based and Wine-based Python interpreters in comparison
Figure 2: wenv-kernel, Linux-based and Wine-based Python interpreters in comparison

This text was also posted on reddit.

‹‹‹ Blog Overview