Summary and Schedule
This session teaches researchers how to convert their software into packages, making it easier for other researchers to use it. In addition, packaged software promotes standardization, reproducibility, and increased research impact through wider adoption due to being more accessible. The episodes in this session cover the full end-to-end process of taking existing code, adding the required metadata, and publishing to central repositories for both R and Python.
| Setup Instructions | Download files required for the lesson | |
| Duration: 00h 00m | 1. Software Packaging Overview |
What is software packaging? How is packaging related to reproducibility and the FAIR4RS principles? What content compromises a software package? |
| Duration: 00h 12m | 2. Accessing Packages |
How can I access my own package? What are the different ways of downloading Python packages? What are the different ways of installing R packages? |
| Duration: 00h 44m | 3. Creating Python Packages |
Where do I start if I want to make a Python package? What will I need / want in my package? What’s considered good practice with packaging? |
| Duration: 01h 08m | 4. Creating R Packages |
Where do I start if I want to make an R package? What will I need / want in my package? What’s considered good practice with packaging? |
| Duration: 01h 33m | 5. Versioning |
Why is versioning essential in software development? What problems can
arise if versioning is not properly managed? How can automation tools, such as those for version bumping, improve the software development process? Why is it important to maintain consistency and transparency in software releases? |
| Duration: 01h 44m | 6. Publishing Packages | How can I make my software easily accessible to a general audience? |
| Duration: 01h 56m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Summary
Packaging your software is one of the most important steps in a software project to make it both findable and accessible. This course will provide you with an understanding of why and when packaging is useful, how to structure packages, and take you through each step of the packaging process. Examples will be provided in both Python and R.
Software Setup
Python
Python can be downloaded from the official website, versions
3.11 or newer are recommended. uv will be used to manage
dependencies and create the package skeleton as it consolidates a lot of
functionality that is distributed amongst multiple first party packages.
Installation instructions are available on the website.
R
RStudio can be installed from Posit’s website, which also has links to install R. Some additional tools will be needed for Windows and Mac users to build packages: Windows users will need to install Rtools for Windows users, while Mac users will need to setup Xcode then run installed the Command Line Tools via Preferences->Downloads.
Terminal
A terminal interface will also be required, listed below are the recommended ones for each OS. Although terminal commands aren’t an explicit part of the lesson if you are unfamiliar with them guidance will be available during the session. This carpentries lesson is also a good starting place to learn.
Use Command Prompt or PowerShell.
- Located in Start Menu, or by typing “cmd” or “powershell” in the search bar.
- Basic commands:
dir(list files),cd(change directory),cls(clear screen). - To confirm if Python is available, type
python --versionin Command Prompt or PowerShell. - If Python is correctly installed, you should see the correct version number printed in your terminal.
Use Terminal.app.
- Located in Applications → Utilities → Terminal, or open using
Cmd+Spaceand type “Terminal”. - Basic commands:
ls(list files),cd(change directory),clear(clear screen). - To confirm if Python is available, type
python3 --versionin your terminal. - On some macOS installations
pythonmay refer to Python 2, so you can usepython3to be specific. Commands throughout the course will usepython, but please usepython3if you need to. If it’s correctly installed, you should see the correct version number printed in your terminal.
Use Terminal
- Open with
Ctrl+Alt+Tor find it in application menu (often called “Terminal”, or GNOME Terminal”). - Basic commands:
ls(list files),cd(change directory),clear(clear screen). - To confirm if Python is available, type
python3 --versionin your terminal. - On some distributions,
pythonmay refer to Python 2, so you can usepython3to be specific. Commands throughout the course will usepython, but please usepython3if you need to. If it’s correctly installed, you should see the correct version number printed in your terminal.