노트북은 금방 상해
Jupyter 노트북은 머신러닝 저장소 어디에나 있지. 탐색 분석, 학습 스크립트, 데모 흐름, 튜토리얼 페이지까지 다 쓰인다. 근데 커밋하는 순간 상하기 시작해. 출력값은 낡아버리고, 의존성은 옮겨가고, '내 노트북에서는 잘 돼'라는 상태도 오래되거든.
노트북도 코드처럼 다뤄. CI에서 테스트해.
도구
- papermill — 매개변수화된 입력으로 노트북을 엔드투엔드로 실행해. 모든 셀이 실행된 새 노트북을 출력하지.
- pytest --nbmake — 노트북을 pytest 테스트로 실행해.
- jupyter nbconvert --execute — 내장 도구라 단순해.
- nbqa — 노트북에 ruff / black / mypy를 실행해.
검증할 것
- 노트북이 에러 없이 끝까지 실행되는지.
- 특정 셀이 기대한 출력값을 만드는지 (papermill + 작은 테스트 스크립트).
- 린트와 포맷이 깔끔한지 (nbqa + ruff).
- 커밋 전에 출력값을 제거(
nbstripout또는 pre-커밋 hook)해서 변경 사항을 읽기 쉽게 만드는지.