User Tools

Site Tools


proj:sofalite

Home

Project

SOFALite Notes

Changes from SOFA

Features

Removed

  • No image processing - leave that up to general tools e.g. screen shotting, printing to PDF from web browser etc
  • No translations - no more _() everywhere, no more packaging .pot files etc, no more having to make strings static
  • No database connectivity - only one place for SQL - SQLite - so no more config, credentials management etc

Added

  • Support for importing wide format data
  • Much better interface (always one window open with individual dialogs off that)

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:

  • Python
  • wxPython - for GUI
  • matplotlib - for images that overload SVG / JS based toolkits such as Dojo
  • pandas (inc numpy) - for misc data processing including in core stats engine

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
proj/sofalite.txt · Last modified: 2022/10/30 01:02 by 151.210.132.200