Commit 25ea4cc
committed
feat: Add Python 3.15 support and fix quantum healing activation
Major Changes:
- Add full Python 3.15.0a5 support with proper release tag mapping
- Extend requires-python constraint to <3.16 in pyproject.toml
- Fix quantum healing not triggering during install package validation
Quantum Healing Fixes:
- Add _OMNIPKG_QUANTUM_HEALING environment flag to distinguish automated swaps
- Ensure NoCompatiblePythonError properly bubbles up through pip resolution
- Prevent quantum healing from being swallowed by generic exception handlers
- Clean up quantum healing flag in finally block to prevent state leakage
Python 3.15 Support:
- Add version-to-release-tag mapping for 3.15.0a5 (20260203)
- Add full version resolution for 3.15 -> 3.15.0a5
- Skip safety package on Python 3.15+ (pydantic-core incompatibility)
- Update core dependency filtering logic for version constraints
Implementation Detection:
- Add _detect_python_implementation() to identify CPython vs PyPy vs GraalPy
- Enforce CPython-only adoption with fallback to managed install
- Use implementation name in interpreter directory paths (future-proofs for PyPy)
- Add SUPPORTED_IMPLEMENTATIONS class constant
Python Context Switching:
- Simplify switch_active_python() for quantum healing use case
- Remove Windows-specific fast path (now handled by dedicated swap command)
- Focus on in-memory config updates only during automated healing
- Add user guidance to use '8pkg swap python' for interactive shells
Safety Version Constraints:
- Python 3.7-3.9: use safety 2.x
- Python 3.10-3.14: use safety 3.x (default)
- Python 3.15+: skip safety (not yet compatible)
Bug Fixes:
- Fix exec restart to use '-m omnipkg.cli' instead of raw sys.argv
- Parse version once in core dependency filtering for efficiency
- Add proper translation formatting for skip/diagnostic messages
- Update Arabic translations (automated via 8lang)1 parent f9c7436 commit 25ea4cc
3 files changed
Lines changed: 708 additions & 842 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
0 commit comments