| name | technology-stack-modernization-1-dependency-version-assessment |
| description | Sub-skill of technology-stack-modernization: 1. Dependency Version Assessment (+6). |
| version | 1.0.0 |
| category | business |
| type | reference |
| scripts_exempt | true |
1. Dependency Version Assessment (+6)
1. Dependency Version Assessment
Process:
- Identify current dependency versions in project
- Check for available updates on PyPI
- Review CHANGELOG for breaking changes
- Test compatibility with existing code
- Update pyproject.toml with version constraints
Version Update Checklist:
## Current Dependencies Review
| Package | Current | Latest | Breaking Changes? | Action |
|---------|---------|--------|-------------------|--------|
| pandas | 1.5.3 | 2.2.0 | Yes - deprecated methods | Update + refactor |
| numpy | 1.24.0 | 1.26.0 | No | Safe update |
| plotly | 5.14.0 | 5.18.0 | No | Safe update |
| click | 8.1.0 | 8.1.7 | No | Safe update |
## Update Strategy
1. **Safe updates** (no breaking changes): Batch update
2. **Breaking changes**: Update one at a time with testing
3. **Major versions**: Review migration guides first
4. **Test after each update**: Run full test suite
2. Deprecated Package Replacement
Common Replacements:
Conda → UV (Package Manager)
conda create -n myenv python=3.11
conda activate myenv
conda install pandas numpy plotly
*See sub-skills for full details.*
**Python 3.11+ Features:**
**Type Hints and Generics**
```python
from typing import List, Dict, Optional
def process_data(items: List[str]) -> Dict[str, int]:
result: Dict[str, int] = {}
for item in items:
*See sub-skills for full details.*
**Complete Modern Configuration:**
```toml
[project]
name = "project-name"
version = "1.0.0"
description = "Project description"
requires-python = ">=3.11"
dependencies = [
"pandas>=2.0.0",
*See sub-skills for full details.*
**Pre-commit Hooks Configuration:**
```yaml
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.1.0
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- id: ruff-format
*See sub-skills for full details.*