Table of Contents

Home

Project

SOFALite Notes

Changes from SOFA

Features

Removed

Added

Python

Python 3.10 onwards so I can use all the nice new language features e.g. pleasant type hinting, dataclasses etc

Dependencies

Minimalism

The fewer the dependencies, and the less they depend on the OS, the easier the packaging.

In SOFA Statistics, dependencies, especially image-processing dependencies, made it very hard to package cross-platform.

Minimum:

Installation

All dependencies are distro / system dependencies, not pip dependencies (even if we develop in a venv).

This is to make deb packaging easy where we list system dependencies.

wxPython - https://shanemcd.org/2020/05/03/how-to-install-wxpython-in-a-python-virtual-environment-on-debian-buster/

A couple of the key steps (there are others but you may have already done them):

sudo apt-get install build-essential python3-dev \
  libwebkit2gtk-4.0-dev libtiff-dev libnotify-dev \
  freeglut3-dev libsdl1.2-dev libgstreamer-plugins-base1.0-dev

And in venv (when activated):

pip install wxPython