PEARC21 has ended
Back To Schedule
Monday, July 19 • 8:00am - 3:00pm
TUTORIAL: Python 201: Building Better Scientific Software in Python

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Scientists, engineers, researchers, and other CI professionals continue to be put in the position of being software developers. Nearly every pursuit includes the development of some final domain specific code, even if on top of robust core libraries and frameworks.

Writing code in the pursuit of science and data analysis brings with it the challenge of making that code deployable and accessible to collaborators. Novice programmers often find themselves writing difficult to maintain, difficult to manage code that their peers and collaborators have trouble using. This challenge is a hurdle to open, reproducible science.

The goal of this tutorial is to expose researchers to several best practices in scientific software engineering that may otherwise take several years to become acquainted with. Though the implementation of these lessons is Python-specific, the essential ideas can be exported to other languages or platforms.

The tutorial builds on several years of iteration and multiple instructors with a polished set of materials, hosted on GitHub (glentner.github.io/python201). Delivered in previous years, including PEARC ’18 and PEARC ’20, we believe the content here has been well received and remains as relevant and in demand as ever.

The tutorial is hands-on with full examples outlined in a "readthedocs" style website of materials. Participants are expected to already be familiar with the Python language to the extent that they understand what Python is, how to write code files in a text editor that they are comfortable with, and run that code at the command-line on their platform of choice (Linux, macOS, Windows).

Topics covered: Python packaging, automated testing, documentation management, logging, command-line interfaces, performance profiling and optimization.

Monday July 19, 2021 8:00am - 3:00pm PDT
Pathable Platform