Skip to content

fix: move pylint to dev deps to resolve Snyk GPL-2.0 flag (DX-8256) - #182

Merged
OMpawar-21 merged 5 commits into
mainfrom
fix/snyk-pylint-gpl-dx8256
Aug 11, 2026
Merged

fix: move pylint to dev deps to resolve Snyk GPL-2.0 flag (DX-8256)#182
OMpawar-21 merged 5 commits into
mainfrom
fix/snyk-pylint-gpl-dx8256

Conversation

@OMpawar-21

@OMpawar-21OMpawar-21 commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Moved pylint>=2.0.0 from requirements.txt to requirements-dev.txt — it is a static analysis tool used only in development and CI, not distributed in the production package.
  • Created requirements-dev.txt (includes -r requirements.txt + pylint) so dev/CI installs remain unchanged.
  • Bumped version to 1.11.2 with changelog entry.

Why

Snyk flagged pylint (GPL-2.0) as a high-severity license violation in the production dependency scan (DX-8256). Because pylint is never shipped as part of the SDK binary or runtime image, it carries no copyleft obligation — it just needs to live outside the production requirements file so Snyk's scan scope excludes it.

Test plan

  • pip install -r requirements.txt — no pylint installed
  • pip install -r requirements-dev.txtpylint installed, all existing deps present
  • CI lint job passes (update any workflow that references requirements.txt for linting to use requirements-dev.txt)
  • Snyk production scan no longer flags GPL-2.0 on pylint

🤖 Generated with Claude Code

OMpawar-21and others added 2 commits August 10, 2026 13:46
pylint is a static analysis tool not shipped in the production package.
Moving it to requirements-dev.txt removes the GPL-2.0 copyleft concern
from Snyk production dependency scans (DX-8256).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@OMpawar-21
OMpawar-21 requested a review from a team as a code ownerAugust 10, 2026 08:27
@snyk-io

snyk-ioBot commented Aug 10, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Licenses0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check TypeCount (with fixes)Without fixesThresholdResult
🔴 Critical Severity0010✅ Passed
🟠 High Severity0025✅ Passed
🟡 Medium Severity02500✅ Passed
🔵 Low Severity001000✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

SeverityBreaches (with fixes)Breaches (no fixes)SLA Threshold (with/no fixes)Status
🔴 Critical0015 / 30 days✅ Passed
🟠 High0030 / 120 days✅ Passed
🟡 Medium0090 / 365 days✅ Passed
🔵 Low00180 / 365 days✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 0
  • Medium without fixes: 2
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

@OMpawar-21

Copy link
Copy Markdown
ContributorAuthor

Closing — fix needs to be applied to contentstack-python (delivery SDK) instead.

@OMpawar-21
OMpawar-21 deleted the fix/snyk-pylint-gpl-dx8256 branch August 10, 2026 09:08
@OMpawar-21
OMpawar-21 restored the fix/snyk-pylint-gpl-dx8256 branch August 10, 2026 09:15
@OMpawar-21OMpawar-21 reopened this Aug 10, 2026
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check TypeCount (with fixes)Without fixesThresholdResult
🔴 Critical Severity0010✅ Passed
🟠 High Severity0025✅ Passed
🟡 Medium Severity02500✅ Passed
🔵 Low Severity001000✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

SeverityBreaches (with fixes)Breaches (no fixes)SLA Threshold (with/no fixes)Status
🔴 Critical0015 / 30 days✅ Passed
🟠 High0030 / 120 days✅ Passed
🟡 Medium0090 / 365 days✅ Passed
🔵 Low00180 / 365 days✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 0
  • Medium without fixes: 2
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check TypeCount (with fixes)Without fixesThresholdResult
🔴 Critical Severity0010✅ Passed
🟠 High Severity0025✅ Passed
🟡 Medium Severity02500✅ Passed
🔵 Low Severity001000✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

SeverityBreaches (with fixes)Breaches (no fixes)SLA Threshold (with/no fixes)Status
🔴 Critical0015 / 30 days✅ Passed
🟠 High0030 / 120 days✅ Passed
🟡 Medium0090 / 365 days✅ Passed
🔵 Low00180 / 365 days✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 0
  • Medium without fixes: 2
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

cs-raj
cs-raj previously approved these changes Aug 10, 2026

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Moves pylint out of the shared dependency list and into a dev-only requirements file to avoid license findings in production-focused dependency scans, while also bumping the SDK version and changelog to reflect the change.

Changes:

  • Removed pylint from requirements.txt and introduced requirements-dev.txt to hold dev-only tooling.
  • Bumped contentstack_management version to 1.11.2.
  • Added a v1.11.2 changelog entry describing the dependency move.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
requirements.txtRemoves pylint from the shared requirements list.
requirements-dev.txtAdds a dev-only requirements file that includes requirements.txt and installs pylint.
contentstack_management/init.pyUpdates __version__ to 1.11.2.
CHANGELOG.mdAdds release notes for v1.11.2.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment threadrequirements-dev.txt
Comment threadrequirements-dev.txt Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check TypeCount (with fixes)Without fixesThresholdResult
🔴 Critical Severity0010✅ Passed
🟠 High Severity0025✅ Passed
🟡 Medium Severity02500✅ Passed
🔵 Low Severity001000✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

SeverityBreaches (with fixes)Breaches (no fixes)SLA Threshold (with/no fixes)Status
🔴 Critical0015 / 30 days✅ Passed
🟠 High0030 / 120 days✅ Passed
🟡 Medium0090 / 365 days✅ Passed
🔵 Low00180 / 365 days✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 0
  • Medium without fixes: 2
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

Addresses Copilot review comment — AGENTS.md and skills/dev-workflow/SKILL.md
still referenced requirements.txt for pylint after it was moved to
requirements-dev.txt. Also added pylint to the setup.py dev extra so
`pip install -e ".[dev]"` installs it.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check TypeCount (with fixes)Without fixesThresholdResult
🔴 Critical Severity0010✅ Passed
🟠 High Severity0025✅ Passed
🟡 Medium Severity02500✅ Passed
🔵 Low Severity001000✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

SeverityBreaches (with fixes)Breaches (no fixes)SLA Threshold (with/no fixes)Status
🔴 Critical0015 / 30 days✅ Passed
🟠 High0030 / 120 days✅ Passed
🟡 Medium0090 / 365 days✅ Passed
🔵 Low00180 / 365 days✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 0
  • Medium without fixes: 2
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.

Suppressed comments (2)

skills/dev-workflow/SKILL.md:22

  • The install command is now redundant/misleading: pip install -e ".[dev]" already installs pylint (via extras_require["dev"]), so the follow-up pip install -r requirements-dev.txt doesn’t add anything and can confuse contributors.
1. **Install** — `pip install -e ".[dev]"` then `pip install -r requirements-dev.txt` for linting tools.

CHANGELOG.md:9

  • The changelog entry says pylint “is not distributed as part of the production package”, but it is still declared in the package metadata as an optional dev extra. It’s more accurate to state that pylint is not a runtime dependency (only installed for dev/CI).
- Moved `pylint` from `requirements.txt` to `requirements-dev.txt` to resolve Snyk GPL-2.0 license flag (DX-8256). `pylint` is a static analysis tool used only during development and CI; it is not distributed as part of the production package.

@OMpawar-21
OMpawar-21 merged commit 3a58ab1 into mainAug 11, 2026
9 checks passed
@OMpawar-21
OMpawar-21 deleted the fix/snyk-pylint-gpl-dx8256 branch August 11, 2026 06:24
Sign up for freeto 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.

4 participants

@OMpawar-21@netrajpatel@cs-raj