4:00 pm ET
“From Code to PyPI: Streamlining Your Python Package Release with GitHub”
with Will DeanReleasing a Python package to PyPI can be a complex process, but it doesn't have to be. This talk provides a comprehensive walkthrough of how to streamline your entire development and release workflow using the power of GitHub. We will cover best practices for ensuring code quality with pre-commit hooks, running automated tests across platforms, and using GitHub Actions to publish your package and deploy documentation. Learn how to leverage repository labels to generate clean, automatic release notes. Using the open-source frame-search library as a real-world example, you'll leave with a clear roadmap to create a smooth, repeatable, and professional release process for your own Python projects.
Meet Will Dean

Will Dean is a Statistician and Data Scientist with experience in geospatial and user analytics. He is passionate about Bayesian methods, using data visualization to tell a story, and designing software that makes solving data problems easier and more enjoyable. This passion has led him to become a creator and maintainer of several Python packages for Bayesian statistics and Data Science, from his own library frame-search to community projects like PyMC-Marketing.
Recent Events
#40 Better docs, happier users: What we learned applying Diataxis to HoloViz libraries
Maxime Liquet — September 24, 2025
Clear documentation is crucial for the success of open-source libraries, but it’s often hard to get right. In this talk, I’ll share our experience applying the Diataxis documentation framework to improve two HoloViz ecosystem libraries, hvPlot and Panel. Attendees will come away with practical insights on applying Diataxis and strengthening documentation for their own projects.
Good documentation turns users into contributors — but achieving it requires more than good intentions. This talk shares the journey of applying the Diataxis framework to improve two open-source Python libraries from the HoloViz ecosystem: Panel and hvPlot.. We’ll start with a short introduction to Diataxis (its four documentation types: tutorials, how-to guides, explanations, and references), then briefly present the libraries we worked on and their documentation challenges.
The heart of the talk focuses on practical lessons learned: how we mapped existing content into the Diataxis structure, handled content gaps and redundancies, engaged with the user community, and evolved our approach over time. We’ll also discuss what we would do differently if we started again.
The goal is to give attendees a realistic, hands-on perspective on adopting Diataxis — including both its benefits and its challenges.
Watch on Youtube#39 Not just for notebooks: JupyterHub in 2025
Yuvi — August 27, 2025
JupyterHub: A multi-user server for Jupyter notebooks
This is how JupyterHub was described when it was announced in 2015, 10 years ago. The focus was on bringing Jupyter Notebooks to multiple users on shared infrastructure. The Jupyter Notebooks focus was so strong that Jupyter was even in the name of the project! Fast forward 10 years, & this is still the most common perception of JupyterHub.
However, this has not been true for a long time now. Instead of setting
up 5 different kinds of infrastructure to support your users based on what
kind of interface they like to use (JupyterLab, RStudio, Linux Desktop
tools like qgis or Napari, Visual Studio Code, full ssh
(!?), etc) for
their interactive computing, you can set up a JupyterHub that supports all
of those! Meet your users where they are, rather than force them to conform
to using only a specific set of tools.
Come to this talk to: 1. See cool demos of various popular applications running on JupyterHub seamlessly 2. Understand the security model of JupyterHub & how that enables these cool demos 3. Learn how you can set up your own application to run in JupyterHub 4. Influence the future of how JupyterHub is marketed
Watch on Youtube#38 Up-scale Python Functions for High-Performance Computing with executorlib
Jan Janssen — July 30, 2025
With the rise of machine-learned interatomic potentials in the atomistic simulation community in Materials Science, the complexity of simulation workflows changed from directed acyclic graph (DAG) based simulation workflows with typically just a single simulation code to simulation workflows coupling simulation codes at different length and time scales and thousands of individual simulations. To orchestrate these workflows a number of simulation frameworks were developed. Still as part of the Exascale Computing Project we realized these were limited in their flexibility and scalability.
So, we developed executorlib[1] based on the concurrent futures Executor interface in the Python standard library and with the goal to distribute Python functions over hundreds of compute nodes. Internally, executorlib leverages the Simple Linux Utility for Resource Management (SLURM) and the flux framework from Lawrence Livermore National Laboratory[2] to up-scale simulation workflows from a workstation or traditional high-performance computers (HPC) to the latest generation of Exascale machines. In contrast to previous solutions, it does not require any daemon process or database but instead directly interfaces with the job manager to maximize computational efficiency. At the same time, it is designed with a focus on debugging capabilities to minimize the overhead of migrating workflows to the Exascale machines.
In this presentation I introduced executorlib, highlighting the lessons learned from development of the pyiron atomistic simulation suite which led to the development of executorlib as minimalistic workflow manager. Finally, I highlight the general applicability of executorlib to distribute python functions of any scientific domain on HPC clusters of all sizes.
[1]: Janssen et al., JOSS, 10(108), 7782, (2025).
[2]: Dong H. Ahn et al., Fut. Gen. Comp. Sys., 110, (2020).
About Us
At Don’t Use This Code, we want to create a unique opportunity to see Python succeed and thrive within the National Labs! We propose creating a new resource for scientists, researchers, and technical staff to support their use of Python and to build a strong, lasting community for Python users within the Department of Energy National Labs. Disclaimer: The Python Exchange is an independent group of Python enthusiasts who wish to see the use of Python and open-source computing thrive within the National Lab system. This group is not sponsored by or affiliated with the Department of Energy.