Notebook Development and Testing

Slides:



Advertisements
Similar presentations
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Advertisements

Simple Git Steve Pieper. Topics Git considerations and Slicer Git as if it were svn Git the way it is meant to be.
CSE 4939 Alex Riordan Brian Pruitt-Goddard Remote Unit Testing.
SubVersioN – the new Central Service at DESY by Marian Gawron.
Group 4: Web based applications/ crowdsourcing Marcel Prastawa Ziv Yaniv Patrick Reynolds Stephen Aylward Sean Megason.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Pragmatic Projects Prepared by Doug Glidden. Pragmatic Projects Pragmatic Teams Ubiquitous Automation Ruthless Testing It’s All Writing Great Expectations.
The DSpace Course Module – An introduction to DSpace.
Log Files. eValid Log Files eValid validates your WebSite by recognizing and recording both successful and unsuccessful events. Detailed records are stored.
ASP.NET.. ASP.NET Environment ASP.NET is Microsoft's programming framework that enables the development of Web applications and services. It is an easy.
Source Code Control CSE 3902 Matt Boggus. Source code control options for CSE 3902 Must use source code control that is integrated with Visual Studio.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Test Data Management. Distributed Version Control Meant for source code, not data Local history of source is good –Often modified  interesting history.
Bulk Metadata Structures in CERA Frank Toussaint, Michael Lautenschlager Max-Planck-Institut für Meteorologie World Data Center for Climate.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
SQL INJECTIONS Presented By: Eloy Viteri. What is SQL Injection An SQL injection attack is executed when a web page allows users to enter text into a.
May 2, 2013 An introduction to DSpace. Module 1 – An Introduction By the end of this module, you will … Understand what DSpace is, and what it can be.
The CERA2 Data Base Data input – Data output Hans Luthardt Model & Data/MPI-M, Hamburg Services and Facilities of DKRZ and Model & Data Hamburg,
Google Refine for Data Quality / Integrity. Context BioVeL Data Refinement Workflow Synonym Expansion / Occurrence Retrieval Data Selection Data Quality.
J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second Edition D.S. Malik D.S. Malik.
The Insight Journal Luis Ibáñez KITWARE, Inc.. NAMIC and The Insight Journal.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
STRUCTURE OF JSP PRESENTED BY: SIDDHARTHA SINGH ( ) SOMYA SHRIVASTAV ( ) SONAM JINDAL ( )
Sean Chambers.  Senior Developer at Flagler County Schools for 5 years  Owner Hybrid Software, Educational Software  Contributor to various open source.
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
ATS code development workflow Group Name: TST WG Source: Mahdi Ben Alaya, TST WG vice chair, SENSINOV, Meeting Date: TST #21 Document.
 A content management system ( CMS ) is a system providing a collection of procedures used to manage work flow in a collaborative environment. These.
Process changes: Internal processes of CASA, external contributions, release schedule Mark G. Rawlings, CASA Build & Test Lead NRAO, Charlottesville Acknowledgements:
CS520 Web Programming Version Control with Subversion Chengyu Sun California State University, Los Angeles.
Target Audience All QA members Objective: This presentation aims to deliver the following: Writing Test plans. Managing test cases repository as per.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Petr Škoda, Jakub Koza Astronomical Institute Academy of Sciences
Subversion Subversion is a brand of version control software that is frequently used to store the code and documentation of a project so as to permit.
© 2016, Mike Murach & Associates, Inc.
Git and GitHub primer.
Constructing a National Reporting Platform for SDGs: lessons form the MDGs. Enrique Ordaz INEGI Geneva, April 2017.
External Web Services Quick Start Guide
Contributing to documentation
Releases and developments

Test Case Structure Test Case Module(depend on framework) MocoServer
Where can I download Aws Devops Engineer Professional Exam Study Material - Get Updated Aws Devops Engineer Professional Braindumps Dumps4downlaod.us
SimpleITK Historical Overview: Standing on the Shoulders of Giants
Piotr Goryl/Tango Community, S2Innovation Sp. z o.o.,
CISC103 Web Development Basics: Web site:
SimpleITK Historical Overview: Standing on the Shoulders of Giants
Notebook Development and Testing
SimpleITK Setup and Schedule
SimpleITK Setup and Schedule
OSOR - new opportunities for sharing statistical software
Trainings 11/18 Advanced Java Things.
Jupyter Notebooks in Dyalog APL
SimpleITK Fundamental Concepts
GitHub A Tool for software collaboration James Skon
SimpleITK Fundamental Concepts
Open Source Software Development Processes Version 2.5, 8 June 2002
CONTINUOUS INTEGRATION –WHY WE DO IT?
CI/CD Workflow and Event Pages
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Test Process “V” Diagram
Notebook Development and Testing
SimpleITK Historical Overview: Standing on the Shoulders of Giants
SimpleITK Setup and Schedule
Information Retrieval and Web Design
Your computer is the client
ITK Performance Visualization
PyWBEM Python WBEM Client: Overview #2
Overview on CI Use JJB (Jenkins Job Builder) to manage Jenkins jobs.
SeeSoft A Visualization Tool..
CS122B: Projects in Databases and Web Applications Spring 2018
Presentation transcript:

Notebook Development and Testing 1Hans J. Johnson, 2,4Bradley C. Lowekamp, 2,3Ziv Yaniv 1The University of Iowa 2National Institutes of Health 3TAJ Technologies Inc. 4MSC LLC

Maintaining Your Notebooks Notebooks are code and prose. Use a version control system (git, hg, svn). Test them, at least execution (pytest, nose2, unittest). Notebooks are not pure code, they may also contain execution results. Commit clean notebooks to avoid messy history and an unnecessarily large repository. Use a continuous integration service to run your tests (CircleCI, Travis CI, Appveyor).

SimpleITK Notebook Development and Testing One authoritative repository: github.com/InsightSoftwareConsortium/SimpleITK-Notebooks No direct commits to this repository, only pull requests. Code review and test (pytest) pull requests: Static: (1) ensure notebooks contain no output; (2) spellcheck all markdown/prose cells and comments in code. Dynamic: (1) Run the notebook using the jupyter nbconvert tool and analyze result (notebook in JSON format). Mark code cell meta-data: simpleitk_error_allowed (may or may not happen), simpleitk_error_expected; (2) regression testing – in the works. Deal with memory constraints on build machines.

SimpleITK Notebook Development and Testing Data sharing: Storage: (1) images on MIDAS data servers or on accessible web pages (raw url); (2) code repository contains data manifest file in JSON format with md5 to validate download integrity. Retrieval: Cache images locally. (1) without internet access, bulk download script; (2) with internet access, lazy download. For additional details see: “SimpleITK Image-Analysis Notebooks: a Collaborative Environment for Education and Reproducible Research”, J Digit Imaging 2017 .

Join the Community We welcome questions/requests/contributions from the community: Ask questions (itk discourse) Request features / examples. Report bugs. Contribute code or new notebooks. github.com/SimpleITK/SimpleITK and github.com/InsightSoftwareConsortium/SimpleITK-Notebooks