Skip to content

Add pip dependency lock file for supply chain protection#290

Open
kaggle-agent wants to merge 6 commits into
mainfrom
agent/erdalsivri-20260401152738-79d37875
Open

Add pip dependency lock file for supply chain protection#290
kaggle-agent wants to merge 6 commits into
mainfrom
agent/erdalsivri-20260401152738-79d37875

Conversation

@kaggle-agent

Copy link
Copy Markdown
Collaborator

Generate requirements.lock from pyproject.toml using pip-compile to pin
all transitive dependencies to exact versions. This protects against
supply chain attacks by ensuring reproducible installs.

Also add .claude/settings.local.json and .kagent-context/** to
.gitignore.

Co-authored-by: kaggle-agent kaggle-agent@users.noreply.github.com


Task: erdalsivri-20260401152738-79d37875
Context: https://chat.kaggle.net/kaggle/pl/o3rrqgcf5fy3jjsjkbuhdp7ifh

Generate requirements.lock from pyproject.toml using pip-compile to pin
all transitive dependencies to exact versions. This protects against
supply chain attacks by ensuring reproducible installs.

Also add .claude/settings.local.json and .kagent-context/** to
.gitignore.

Co-authored-by: kaggle-agent <kaggle-agent@users.noreply.github.com>
erdalsivri

This comment was marked as resolved.

@kaggle-agent

This comment was marked as resolved.

erdalsivri

This comment was marked as resolved.

Complement the lock file with major-version caps on requests, tqdm,
and pyyaml in pyproject.toml to prevent unexpected major version
upgrades. Regenerated requirements.lock to reflect the updated
constraints (same resolved versions, no downgrades).

Co-authored-by: kaggle-agent <kaggle-agent@users.noreply.github.com>
@kaggle-agent

This comment was marked as resolved.

Comment thread pyproject.toml
Comment thread pyproject.toml Outdated
Replace version upper bounds with uv's exclude-newer setting, which
prevents resolving packages published after a cutoff date. This is
cleaner than per-dependency caps and covers all transitive deps.
Regenerated the lock file with uv pip compile.

Co-authored-by: kaggle-agent <kaggle-agent@users.noreply.github.com>
Comment thread pyproject.toml Outdated
Set exclude-newer to 2 days before today so newly published (and
potentially malicious) packages have time to be detected and pulled
before they can be resolved. Updated both the date value and the
upgrade instructions.

Co-authored-by: kaggle-agent <kaggle-agent@users.noreply.github.com>
erdalsivri

This comment was marked as resolved.

The S603 rule was deprecated in newer ruff versions, making these
suppression comments trigger RUF100 (unused noqa) lint failures.

Co-authored-by: kaggle-agent <kaggle-agent@users.noreply.github.com>
@kaggle-agent

This comment was marked as resolved.

@erdalsivri

This comment was marked as resolved.

CI uses a ruff version that still enforces S603, so the suppression
is needed to keep the build green.

Co-authored-by: kaggle-agent <kaggle-agent@users.noreply.github.com>
@erdalsivri

erdalsivri commented Apr 2, 2026

Copy link
Copy Markdown

@rosbo couldn't get the integration-tests to succeed. Is this something you can take a look? I think it is important to lock our dependencies and use the lock file during restores if we are not already doing so. I don't know much about the build pipeline of these projects. exclude-newer is a good protection too but that is up-to-you. Feel free to close this PR if it is not in a good state.

@erdalsivri
erdalsivri requested a review from rosbo April 2, 2026 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants