Summary and Schedule
This is a new lesson built with The Carpentries Workbench.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Software Packaging |
What is software packaging? How is packaging related to reproducibility and the FAIR4RS principles? What does packaging a Python project look like? |
Duration: 00h 12m | 2. Package File History |
What is required to turn your Python project into a package? Why are there so many file types you can use to create packages in Python? Which file type is the most appropriate for my project? ::: |
Duration: 00h 23m | 3. Accessing Packages |
What are the different ways of downloading Python packages? What are package managers? How can I access my own package? |
Duration: 00h 55m | 4. Creating 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 07m | 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 19m | 6. Releasing Python Packages |
What does releasing software mean? How can you prepare your software for releasing and publishing on different platforms? |
Duration: 01h 31m | 7. Publishing Packages |
How can GitHub’s automation tools help with publishing your
software? What are the benefits of publishing your software on PyPI and ORDA? |
Duration: 01h 43m | 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, what different standards exist to package Python projects and take you through each step of the packaging process.
Software Setup
Python 3
This session will be using Python 3 as the language for examples and demonstrations.
Python can be downloaded from the official website, versions 3.11 or newer are recommended.
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 --version
in 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+Space
and type “Terminal”. - Basic commands:
ls
(list files),cd
(change directory),clear
(clear screen). - To confirm if Python is available, type
python3 --version
in your terminal. - On newer macOS installations, try both
python --version
andpython3 --version
. If it’s correctly installed, you should see the correct version number printed in your terminal.
Use Terminal
- Open with
Ctrl+Alt+T
or 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 --version
in your terminal. - On some distributions,
python
may refer to Python 2, so usepython3
to be specific. If it’s correctly installed, you should see the correct version number printed in your terminal.