-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Feature: Debian 13 (“trixie”) Python Setup Scripts
Branch: feature/python-trixie-setup-script
Base branch: release/0.3.0
Target release: v0.3.0 (MINOR feature addition)
Summary
Add Debian 13 (trixie)–specific Python setup scripts to the env repository, providing a minimal, repeatable way to install multiple Python versions and establish a default interpreter on fresh Debian systems.
This feature intentionally de-emphasizes Poetry and focuses on a venv-first, interpreter-explicit workflow, consistent with current real-world usage (python -m venv venv) and existing Windows/macOS conventions.
Motivation
-
Linux support is explicitly listed on the roadmap but not yet implemented.
-
Debian is a primary server and workstation platform in current usage.
-
Current workflows successfully rely on:
- multiple Python versions (≈ 3.9 → 3.14)
- explicit interpreter selection
- standard
venv, not Poetry
-
Adding Debian scripts now establishes parity with Windows/macOS without introducing unnecessary tooling.
Scope (Minimal by Design)
This feature will add only what is required to:
- install multiple Python versions
- set and document a default
- enable clean venv creation
No dependency managers, project generators, or opinionated tooling will be introduced.
Deliverables
1. Directory Structure
env/
└─ Python/
└─ Debian/
└─ trixie/
├─ README.md
└─ python_trixie_new_setup.sh
Path follows established repo conventions:
- OS → distro → version-codename
- version-scoped to avoid future collisions
2. python_trixie_new_setup.sh
Primary bootstrap script.
Responsibilities:
- Install baseline system dependencies for building/running Python
- Install a multi-version Python manager (recommended:
pyenv) - Install a configured list of Python versions (e.g. 3.9 → 3.14)
- Set a user-level default Python version
- Configure shell initialization idempotently
- Provide clear verification output at completion
Configurable values at top of script:
- Python versions to install
- Default Python version
- Shells to configure (
bash,zsh)
Non-Goals:
- No Poetry
- No pipx-managed project tooling
- No project scaffolding
3. README.md (Debian 13 / trixie)
Concise operator documentation covering:
-
Purpose and scope
-
Quick start (one-command bootstrap)
-
What “default Python” means on Debian
-
How to:
- verify installed versions
- create a venv with a chosen interpreter
-
Assumptions and limitations
Style should match existing OS-specific READMEs:
- practical
- minimal
- human-oriented
Behavioral Acceptance Criteria
On a fresh Debian 13 system:
-
Running the setup script completes without manual intervention
-
Multiple Python versions are available side-by-side
-
A default Python version is clearly defined and active
-
A user can successfully run:
python3.12 -m venv venv source venv/bin/activate -
No Poetry or project tooling is required or configured
Versioning Impact
- MINOR version bump (adds a new OS feature without breaking existing paths)
- No changes to existing Windows/macOS behavior