-
Notifications
You must be signed in to change notification settings - Fork 3
fix: Move dev-only dependencies to proper groups #332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Move development and testing dependencies from main dependencies to appropriate dependency groups: - pylint: main -> [tool.poetry.group.dev] - autoflake: main -> [tool.poetry.group.dev] - pytest: removed from main (already in [tool.poetry.group.test]) Benefits: - Reduces production Docker image size (~50MB) - Clearer dependency separation - Faster builds (fewer dependencies to install) Issue: #330 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🚀 Development Environment OptionsThis repository supports Dev Containers for a consistent development environment. Option 1: GitHub Codespaces (Recommended)Create a cloud-based development environment:
Option 2: VS Code Dev Containers (Local)Use Dev Containers on your local machine:
Option 3: Traditional Local SetupSet up the development environment manually: # Clone the repository
git clone https://github.com/manavgup/rag_modulo.git
cd rag_modulo
git checkout fix/move-dev-dependencies
# Initialize development environment
make dev-init
make dev-build
make dev-up
make dev-validate Available CommandsOnce in your development environment: make help # Show all available commands
make dev-validate # Validate environment setup
make test-atomic # Run atomic tests
make test-unit # Run unit tests
make lint # Run linting Services AvailableWhen running
This automated message helps reviewers quickly set up the development environment. |
Pull Request Review: Move dev-only dependencies to proper groupsOverall Assessment: APPROVED with Minor SuggestionsThis is a well-structured PR that correctly addresses dependency organization. The changes are focused, tested, and provide clear benefits for production deployments. Code Quality & Best PracticesStrengths
Potential Issues: None FoundThe implementation is correct. All identified dependencies are legitimately dev/test-only tools:
Performance ConsiderationsSignificant Benefits
Verification: CI workflows correctly use appropriate install flags:
Security ConsiderationsSecurity Improvements
Test CoverageAdequate Testing StrategyCurrent Coverage:
Suggestions for Additional Testing
Impact AnalysisBreaking Changes: None
Dependencies Removed from Production (3 packages + their deps):
Net Effect: ~40 main dependencies (down from 43) = 7% reduction Code Review DetailsFile: backend/pyproject.tomlLines 44-47 (Removed):
Lines 101-102 (Added):
Note: pytest not re-added because it already exists in [tool.poetry.group.test.dependencies] (line 70) File: backend/poetry.lockLock file changes are mechanically correct:
RecommendationsBefore Merge:
Post-Merge:
Additional Praise
Final Verdict: LGTMThis PR is production-ready. The changes are correct, well-tested, and provide measurable benefits. No blocking issues identified. Recommendation: Merge after CI passes. Compliance with CLAUDE.md
|
Summary
Moves development and testing dependencies from main dependencies to appropriate dependency groups:
dependencies
→[tool.poetry.group.dev]
dependencies
→[tool.poetry.group.dev]
dependencies
(already defined in[tool.poetry.group.test]
)Benefits
✅ Reduces production Docker image size (~50MB savings)
✅ Clearer dependency separation (runtime vs dev/test)
✅ Faster builds (fewer dependencies in production install)
✅ Improved security (fewer attack surface in production)
Impact Analysis
From dependency analysis in #330:
Before
After
Docker Build Impact
Production builds using
poetry install --only main
will no longer install:pylint
(linting tool)autoflake
(code formatter)pytest
(testing framework)These tools are only needed during development and testing, not in production runtime.
Testing
poetry lock
regenerated successfullypoetry install --with dev,test
Related
🤖 Generated with Claude Code