This lesson is still being designed and assembled (Pre-Alpha version)

Packaging and Publishing with Python: Learner Profiles

These profiles describe the potential learners that we anticipate as learners for this lesson. These can be used if you are deciding if this material is right for you or your students. If you plan to contribute material to this lesson, these will help you understand the target audience so that we can have a collaboratively developed, but cohesive lesson.

Tyrone Tensor

Tyrone is a PhD student in machine learning. He develops novel methods to analyze healthcare data and wants his collaborators to be able to use his packages. He is a Carpentries instructor and will teach a workshop to the researchers at the hospital research lab. He would like to add a module after to teach them to use the techniques he developed in his most recent study. Right now, his code is organized into functions for his method, comparison methods and preparation steps, with scripts that reproduce his paper analyses. He has demo code, but it requires being able to get things setup and running first, his collaborators want to look at results and be able to share with their colleagues to promote other hospitals to use his technique.

This lesson will teach him to package and document his work so that his clinical collaborators can use his techniques. Tyrone is most interested in the episodes on packaging and documentation. After the lesson, he will be able to reorganize his existing code to be installable and produce high quality, web accessible documentation for his project.

Marzyeh Microglia

Marzyeh is a lab manager of a neuroscience lab. With many of the PhD students in the lab, she recently completed a software carpentry workshop together. The lab has converted the analysis pipelines into a number of specialized functions. They have also developed a number of custom visualizations that all members of the lab are supposed to use. Currently, the students all commit the plotting functions to a common repository for storage and then copy and paste them into their individual projects. They frequently have errors and conflicts with different versions packages between students who have older installs and new installs of python.

This lesson will teach Marzyeh to package the research code so that all members of the lab can share efficiently. Marzyeh is most excited about the episodes on environments and packaging. After the workshop, she will make an installable unit for all lab members to install and import the lab plotting utilities. She will also be able to help add virtual environments to the various lab projects to resolve the version conflicts in a more reproducible, automated way. Marzeyh plans to learn the material, master it by implementing things in the lab, and then use the material in a series of lab meetings. She also expects to become a contributor to the lesson based on what she learns.

Cristina Calibration

Cristina is a post doc in machine learning and has a paper that she recently published and released the code for. Her paper was selected for an oral presentation at a top conference, the attention has created a lot of interest in the community to use her method. Her e-mail inbox is full of redundant inquires about how to use the project and helping users install the right version of requirements. She has drafted default replies that she sends to each person.

This lesson will help Cristina learn to improve the online documentation for her paper and add environment information so that users can use her technique faster and with fewer e-mails. She’s looking forward to the documentation and environments episodes most. After the workshop, she’ll be able to quickly convert her default replies into a website that accompanies her paper.