Add pip dependency lock file for supply chain protection#30
Add pip dependency lock file for supply chain protection#30kaggle-agent wants to merge 2 commits intomainfrom
Conversation
Generate requirements.lock from pyproject.toml using pip-compile to pin all direct and transitive dependencies to exact versions. This protects against supply chain attacks by ensuring reproducible installs. Also update .gitignore to exclude .claude/settings.local.json and .kagent-context/. Co-authored-by: kaggle-agent <kaggle-agent@users.noreply.github.com>
erdalsivri
left a comment
There was a problem hiding this comment.
Please use exclude-newer in project.toml instead of adding versions here. Also add documentation to explain how package upgrades should be carried out with exclude-newer. Something like "first bump up this date to 2 days before today and then run pip install". Make sure to regenerate the lock file after exclude-newer change
Switch from pip-compile to uv with exclude-newer in pyproject.toml so dependency versions are bounded by date rather than pinned in the lock file. This prevents unexpected new releases from entering the build while keeping upgrades simple: bump the date and re-run uv pip compile. Co-authored-by: kaggle-agent <kaggle-agent@users.noreply.github.com>
|
Re: @erdalsivri's review: Switched from Added upgrade documentation as comments at the top of
|
|
@rosbo I don't know how the build pipeline works for this project so I am not sure if the lock file is even used but exclude-newer should be effective. Please feel free to close if this doesn't makes sense |
Generate requirements.lock from pyproject.toml using pip-compile to pin
all direct and transitive dependencies to exact versions. This protects
against supply chain attacks by ensuring reproducible installs. Also
update .gitignore to exclude .claude/settings.local.json and
.kagent-context/.
Co-authored-by: kaggle-agent kaggle-agent@users.noreply.github.com
Task: erdalsivri-20260401152738-31259832
Context: https://chat.kaggle.net/kaggle/pl/o3rrqgcf5fy3jjsjkbuhdp7ifh