구성 가능한 커널과 확장 기능을 갖춘 선언적·재현 가능한 JupyterLab 환경을 위한 Nix 기반 프레임워크입니다.
jpmorganchase/nbcelltests
보고서 노트북처럼 셀을 순차적으로 실행하는 노트북의 개별 셀을 대상으로 단위 테스트를 작성하는 JupyterLab 확장 및 Python 패키지입니다.
- 스타
- 97
- 포크
- 26
- 열린 이슈
- 42
- 마지막 커밋
- 6일 전
어떤 프로젝트인가요?
nbcelltests를 사용하면 주로 위에서 아래로 실행해 보고서를 생성하는 프로덕션 Jupyter 노트북의 테스트를 작성할 수 있습니다. 각 셀에 mock과 assertion을 추가하면, 노트북의 순차 실행 방식을 반영해 각 셀마다 메서드 하나씩을 포함하고 이전 모든 셀의 테스트를 누적하는 unittest 클래스를 생성합니다.
테스트는 셀 메타데이터에 저장되며, nbcelltests CLI를 사용해 .ipynb 파일에서 오프라인으로 실행하거나 JupyterLab 브라우저 인터페이스에서 pytest-html 결과와 함께 실행할 수 있습니다. 또한 셀당 최대 줄 수, 노트북당 셀 수, 함수 및 클래스 개수, 테스트가 적용된 셀의 비율 등 lint 스타일의 검사 기능도 제공합니다.
이 도구는 패키지 버전 변경으로 인한 문제나, 탐색 과정에서 비선형적으로 편집한 탓에 노트북이 보고서를 생성하지 못하는 문제를 찾아내는 데 초점을 둡니다. 회귀 테스트 방식으로 출력을 비교하는 nbval을 기반으로 합니다.
핵심 기능
- 01셀마다 unittest 메서드를 작성하고 이전 셀의 테스트를 누적합니다
- 02테스트 정의를 노트북 내부의 셀 메타데이터에 저장합니다
- 03.ipynb 파일에서 명령줄로 테스트를 실행합니다
- 04pytest-html을 통해 JupyterLab에서 테스트를 실행하고 결과를 표시합니다
- 05셀당 줄 수, 노트북당 셀 수 등의 노트북 구조 제한을 검사합니다
활용 사례
- Papermill 또는 유사한 도구로 위에서 아래로 실행하는 보고서 노트북의 단위 테스트
- 노트북 기반 보고 파이프라인에서 패키지 업그레이드 후 발생하는 문제 탐지
- 소프트웨어 개발 수명 주기 프로세스에서 노트북의 간단한 코드 크기 제한 적용
빠른 시작
- 1
PyPI에서 Python 패키지를 설치합니다
pip install nbcelltests - 2
예제 노트북의 테스트를 생성하고 실행합니다
nbcelltests test examples/Example.ipynb
사용 전 알아둘 점
- JupyterLab 통합에는 Node.js가 필요하며, 설치 후 JupyterLab을 다시 빌드해야 합니다.
- JupyterLab에서는 lint 검사가 Jupyter를 실행하는 Python 버전으로 수행되므로 Python 2 노트북에 잘못된 구문 오류가 표시될 수 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- nbcelltests은(는) 무엇인가요?
- 보고서 노트북처럼 셀을 순차적으로 실행하는 노트북의 개별 셀을 대상으로 단위 테스트를 작성하는 JupyterLab 확장 및 Python 패키지입니다. nbcelltests를 사용하면 주로 위에서 아래로 실행해 보고서를 생성하는 프로덕션 Jupyter 노트북의 테스트를 작성할 수 있습니다. 각 셀에 mock과 assertion을 추가하면, 노트북의 순차 실행 방식을 반영해 각 셀마다 메서드 하나씩을 포함하고 이전 모든 셀의 테스트를 누적하는 unittest 클래스를 생성합니다.
- nbcelltests은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- nbcelltests은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- nbcelltests은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. nbcelltests의 마지막 커밋은 2026년 11월 1일입니다.
- nbcelltests은(는) 어디에 사용할 수 있나요?
- Papermill 또는 유사한 도구로 위에서 아래로 실행하는 보고서 노트북의 단위 테스트 노트북 기반 보고 파이프라인에서 패키지 업그레이드 후 발생하는 문제 탐지 소프트웨어 개발 수명 주기 프로세스에서 노트북의 간단한 코드 크기 제한 적용
- nbcelltests는 어떻게 설치하나요?
- PyPI에서 Python 패키지를 설치합니다: pip install nbcelltests 예제 노트북의 테스트를 생성하고 실행합니다: nbcelltests test examples/Example.ipynb
- nbcelltests은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/jpmorganchase/nbcelltests
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Jupyter 노트북을 일반 Markdown 또는 Python, Julia, R 스크립트로 저장해 Git에서 변경 사항을 깔끔하게 비교하고 버전 관리합니다.
개인 또는 팀이 바로 실행할 수 있도록 JupyterLab, Jupyter Notebook, 주요 과학 Python 도구를 포함한 Docker 이미지입니다.
S3와 Samba 공유 폴더 등 로컬 및 원격 저장소에 연결되는 여러 파일 브라우저를 추가하는 JupyterLab 확장입니다.
노트북 환경에서 저장소의 스테이징, 커밋, 브랜치 관리, 동기화를 지원하는 JupyterLab용 Git 확장입니다.
웹사이트나 로컬 HTML 파일을 iframe 위젯으로 여는 JupyterLab 확장 프로그램으로, 런처에 바로가기를 추가할 수도 있습니다.