Overview
This tracking issue aims to modernize Kolibri's Python version support while maintaining backward compatibility with older operating systems, and to simplify the high-performance server deployment experience.
Problem
Python Version Constraints: Kolibri currently supports Python 3.6-3.13 to maintain compatibility with older OS versions (Windows 7, Ubuntu 18.04), preventing use of modern Python features and creating maintenance overhead for EOL Python versions.
Complex Server Deployment: High-performance server mode requires installing a separate kolibri-server package, creating confusion and complexity for users who want to scale their deployments.
Distribution Challenges: Need to support both online installations (via PPA) and offline installations (direct .deb downloads) for educational deployments in low-connectivity environments.
Solution
Ensure a modern Python version (3.10+) with Kolibri packages when the target system doesn't have a suitable Python version.
Lightweight PPA packages that can download Python at install time if needed
Self-contained offline packages with pre-bundled Python
In order to allow easier use of high performance mode, and to leverage the bundled or additionally installed Python easily, merge kolibri-server into main package - making high-performance server mode an optional configuration rather than a separate package.
Requirements
- Installation-time choices: Let users choose deployment mode during package installation
- Post-installation management: Provide clear CLI commands to change configuration later
- Automatic migration: Handle existing kolibri-server installations transparently
- Kolibri can use Python 3.10+ features while still installing on Ubuntu 16.04
- Single unified package replaces the current kolibri + kolibri-server split
- Existing kolibri-server users can upgrade seamlessly without reconfiguration
- Both online (PPA) and offline (direct download) installation methods work reliably
- Users can easily switch between standard and high-performance modes post-installation
N.B. This issue was written with assistance from Claude Sonnet.
Overview
This tracking issue aims to modernize Kolibri's Python version support while maintaining backward compatibility with older operating systems, and to simplify the high-performance server deployment experience.
Problem
Python Version Constraints: Kolibri currently supports Python 3.6-3.13 to maintain compatibility with older OS versions (Windows 7, Ubuntu 18.04), preventing use of modern Python features and creating maintenance overhead for EOL Python versions.
Complex Server Deployment: High-performance server mode requires installing a separate kolibri-server package, creating confusion and complexity for users who want to scale their deployments.
Distribution Challenges: Need to support both online installations (via PPA) and offline installations (direct .deb downloads) for educational deployments in low-connectivity environments.
Solution
Ensure a modern Python version (3.10+) with Kolibri packages when the target system doesn't have a suitable Python version.
Lightweight PPA packages that can download Python at install time if needed
Self-contained offline packages with pre-bundled Python
In order to allow easier use of high performance mode, and to leverage the bundled or additionally installed Python easily, merge kolibri-server into main package - making high-performance server mode an optional configuration rather than a separate package.
Requirements
N.B. This issue was written with assistance from Claude Sonnet.