PRC. Banner for Creating Reusable Python Code: From Notebooks to Scripts to Packages

Creating Reusable Python Code: From Notebooks to Scripts to Packages

by

Training/Workshop Programming Languages Research & Data Analysis

Tue, Jan 13, 2026

2:30 PM – 4 PM EST (GMT-5)

Private Location (sign in to display)

48
Registered

Registration

Details

The popularity of Python stems in large part from its convenience for creating quick data analyses in Jupyter notebooks. This workshop will explore how to extend code in such notebooks to make it easier for your colleagues to validate and extend your analyses. We will cover writing simple scripts as well as more complicated tools with command-line interfaces. Time allowing, we will also discuss the benefits of grouping related scripts into packages, and introduce the basics of structuring packages using object-oriented design.

Pre-Workshop Instructions: You will get the most from this workshop by having the ability to run Python code on your latptop. This can be accomplished by (1) having a local installation of Python (e.g., Anaconda Python), or (2) using the Adroit cluster. For (1) see these directions. For (2) request an account on Adroit (VPN required if off-campus). Additional details for Adroit can be found in this guide.

More Software Engineering Training

Below is the full line-up of the Winter 2026 software engineering training by Research Computing:

Good Practices for Research Software Engineering on 1/12
Intro to Version Control with Git and GitHub on 1/12
Attaining vim Fluency: Edit as Fast as You Think on 1/13
Creating Reusable Python Code: From Notebooks to Scripts to Packages on 1/13
How to Package and Publish Your Python Code on 1/14
Gotcha! How to Write Software Tests to Improve Code Quality on 1/14
Debugging and Profiling Code in Python on 1/15
Continuous Integration and Continuous Delivery (CI/CD) with GitHub Workflows on 1/15
Tools That Help You Write Better Code on 1/16
Introduction to Software Reverse Engineering with Ghidra on 1/16

More Training Workshops

See the entire Research Computing Winter 2026 training program.

Speakers

Henry Schreiner's profile photo

Henry Schreiner

Princeton University

Henry Schreiner is a Computational Physicist / Research Software Engineer in High Energy Physics. He received his Ph.D. in experimental high-energy physics from the University of Texas at Austin. Henry is working on a three year project to develop simpler compiled packages for Python using Scikit-build. He is also an admin of Scikit-HEP, and also the lead web developer for IRIS-HEP and Scikit-HEP. Henry is also a maintainer/core developer for pypa/build, scikit-build, cibuildwheel, pybind11, and Plumbum for Python, and primary author of CLI11 for C++. He is also the author of a variety of CMake, GPU, and Python training courses and classes. He is also currently co-teaching APC 524.

Hosted By

Research Computing | View More Events
Co-hosted with: GradFUTURES