fix: move pylint to dev deps to resolve Snyk GPL-2.0 flag (DX-8256) - #182
Conversation
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>
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ 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:
✅ BUILD PASSED - All security checks passed |
|
Closing — fix needs to be applied to contentstack-python (delivery SDK) instead. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ 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:
✅ BUILD PASSED - All security checks passed |
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ 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:
✅ BUILD PASSED - All security checks passed |
There was a problem hiding this comment.
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
pylintfromrequirements.txtand introducedrequirements-dev.txtto hold dev-only tooling. - Bumped
contentstack_managementversion to1.11.2. - Added a
v1.11.2changelog entry describing the dependency move.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| requirements.txt | Removes pylint from the shared requirements list. |
| requirements-dev.txt | Adds a dev-only requirements file that includes requirements.txt and installs pylint. |
| contentstack_management/init.py | Updates __version__ to 1.11.2. |
| CHANGELOG.md | Adds 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.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ 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:
✅ 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>
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ 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:
✅ BUILD PASSED - All security checks passed |
There was a problem hiding this comment.
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 (viaextras_require["dev"]), so the follow-uppip install -r requirements-dev.txtdoesn’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
devextra. 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.
Summary
pylint>=2.0.0fromrequirements.txttorequirements-dev.txt— it is a static analysis tool used only in development and CI, not distributed in the production package.requirements-dev.txt(includes-r requirements.txt+pylint) so dev/CI installs remain unchanged.1.11.2with changelog entry.Why
Snyk flagged
pylint(GPL-2.0) as a high-severity license violation in the production dependency scan (DX-8256). Becausepylintis 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— nopylintinstalledpip install -r requirements-dev.txt—pylintinstalled, all existing deps presentrequirements.txtfor linting to userequirements-dev.txt)pylint🤖 Generated with Claude Code