We often see a two phased approach, where the user performs some local notebook development and then runs these on machines like NERSC on their production data and compute pipelines. It is important to be able to seamlessly go between these modes and our approach is grounded in trying to make sure that a user can easily take a notebook and its associated environment over to our systems, with minimal effort and making sure that they have a consistent user experience.