Jupyter 노트북 파일은 무식하게 요약하면,

  • 소스 코드
  • 마크다운 문서
  • 실행 결과
    들이 각각 셀 단위로 묶인 XML 문법 파일이라고 할 수 있습니다.

이에 따라 버전관리 툴의 일반적인 비교, 병합 툴로는 노트북 파일을 어떻게 효율적으로 저장할 지 알 길이 없습니다.
예를 들어, 소스코드 변경사항만 저장하고 싶은데, 비교 툴은 어디가 소스이고 어디가 실행결과인지 모르니 그렇게 안 된다는 거죠.

이를 해결하기 위해 nbdime 플러그인을 사용해볼 수 있습니다. 노트북 문서를 소스코드 (및 문서 셀) 위주로 비교, 병합하는 기능을 제공하는 플러그인인데요. 문제가 있습니다...

  • 개발 진척도가 그리 빠르지는 않은 것 같고...
  • 비교, 병합 속도가 느으으리며...
  • 출력 셀 비교, 병합은 개발 목표가 아니라고 하며...
  • JupyterLab이라고 해서 다음 세대 버전 나온다는데, 걔는 이 플러그인이 지원하지 않겠지...딱히 상관 없는 것 같네요.

따라서, 프로덕션 수준은 아닌 것 같으니 각자 목적에 맞는지 시험 사용을 해 본 후 본격적으로 써 보시기 바랍니다.

GitHub 저장소
공식 문서

설치

설명서에 나와 있는 대로 pip install nbdime, 또는 Anaconda 환경이라면 conda install -c conda-forge nbdime하면 됩니다.

Git 연동

nbdime를 쓰려는 Git 저장소 디렉토리에서 nbdime config-git --enable 하면 됩니다.
.gitattributes 파일 및 git config -l 명령 결과에서 정상 적용 여부를 확인할 수 있다고 하네요.

+ Recent posts