DHI / DHI/python-package-development
Add content on deprecating functionality
- Linguagem predominante
- Jupyter Notebook
- Estrelas
- 8
- Forks
- 1
- Merge médio
- 4min
- PRs com merge (30d)
- 1
Descrição
## Problem
The course covers semantic versioning and breaking changes in Module 7, but lacks content on **deprecation strategies** - a critical skill for package maintainers.
## Proposed Content
Add a section to Module 7 (`07_packaging.qmd`) covering:
### 1. Deprecation Warnings
- Using Python's `warnings` module
- Proper `stacklevel` usage
- **DeprecationWarning vs FutureWarning**:
- `DeprecationWarning`: For developers (filtered by default, shown when running tests)
- `FutureWarning`: For end users (always visible, for changes affecting user code)
### 2. Deprecation Timeline
- Announce in version X.Y
- Remove in version (X+1).0
- Maintain for 1-2 minor releases minimum
### 3. Communication Strategy
- CHANGELOG updates
- Release notes
- Documentation migration guides
- Clear docstring warnings
### 4. Code Examples
```python
import warnings
def old_function(x):
warnings.warn(
"old_function is deprecated and will be removed in version 2.0. "
"Use new_function instead.",
DeprecationWarning,
stacklevel=2
)
return new_function(x)
```
### 5. Real-World Examples
Reference deprecation practices from popular packages (pandas, numpy, scikit-learn).
## Location
Module 7 - after the "Breaking changes" section (around line 132)
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Abra o Module 7 em 07_packaging.qmd e leia a seção existente “Breaking changes” por volta da linha 132. Adicione uma seção focada que aborde os tipos de warning e stacklevel, uma linha do tempo de deprecation, práticas de comunicação e exemplos de código e do mundo real. Considera-se concluído quando o módulo explicar claramente essas estratégias e se integrar ao conteúdo ao redor do curso.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- documentation
- Tipo de issue
- Documentação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 52/100