Skip to content

omnipkg v1.5.6 - Adding Python 3.13, 3.14, and 3.8 Support

Choose a tag to compare

@1minds3t 1minds3t released this 23 Oct 07:42

This release introduces major enhancements to security scanning, Python version compatibility, and internal automation. It resolves critical bugs related to multi-Python environment management and significantly improves the robustness of the test suite.
✨ Key Features & Enhancements
Intelligent Security Scanner Fallback:
pip-audit Integration: The security scanner now automatically falls back to using pip audit on modern Python versions (3.14+) where safety's dependencies may not be available. This ensures that security scanning functionality is always present, even on bleeding-edge Python releases.
Conditional Dependencies: The project's dependencies have been updated to conditionally install safety only on compatible Python versions, preventing installation failures in newer environments.
New Flask Port Finder Utility & Demo:
A new utility, flask_port_finder.py, has been added. It automatically finds available network ports and can patch Flask application code on the fly to prevent port conflicts, which is especially useful in testing and CI environments.
A new interactive demo (8pkg demo, option 9) has been added to showcase this new auto-healing capability.
Robust Bootstrap Process:
The bootstrapping process for newly adopted Python interpreters has been improved. It now prioritizes using the built-in ensurepip module for maximum reliability before falling back to other methods.
CI Automation for Dependencies:
A new GitHub Actions workflow (update-requirements.yml) has been implemented to automatically compile and commit an updated requirements.txt whenever pyproject.toml is changed, ensuring dependency lists are always in sync.
Enhanced Test Suite:
The concurrent installation test (test_concurrent_install.py) has been significantly improved. It now automatically checks for and adopts required Python versions before running and uses isolated subprocess calls to more accurately simulate real-world CLI usage.
🐛 Critical Bug Fixes
Context-Aware Redis Key Generation Fixed: Corrected a bug where the Redis key generation would fail to use the correct Python context after a swap command. The tool now reliably generates keys based on the target environment, eliminating false "ghost" package reports when switching between different Python versions.
🧹 Housekeeping & Refactoring
Project Structure Cleanup: Test scripts and utility files (like stress_test.py) have been moved from the main omnipkg/ source directory into the appropriate tests/ and omnipkg/utils/ folders, improving code organization.
Dependency Simplification: The pyproject.toml file has been cleaned up to use clearer and more precise environment markers for dependencies.
Code Cleanup: Removed obsolete files related to previous experiments (OMNIPKG_CODE_COMPARISON.txt, Ruby gem files).