#9548 feat: Lock plugin dependencies
Pull request opened by
edgarrmondragon on <!date^1759810990^{date_short}|2025-10-07T04:23:10Z>
Description
Related Issues
• Closes #XXXX
Summary by Sourcery
Implement dependency locking for Meltano plugins by generating PEP 751 pylock.toml files and integrating them into the lock and install workflows to ensure reproducible installs.
New Features:
• Add lock_plugin_dependencies function to compile plugin dependencies into pylock.toml format
• Extend PluginLock with save_dependencies and optional dependency locking in save()
• Detect and install from pylock..toml files in install_pip_plugin with stable fingerprinting
• Add --no-lock-dependencies CLI flag and refine lock command behavior for custom and inherited plugins
Enhancements:
• Introduce fingerprint_args in venv_service to avoid unnecessary clean installs
• Extract find_uv utility into a core packaging module
Build:
• Add tomli and tomli-w dependencies for TOML parsing
meltano/meltano