Research runs in cycles. Those can be of PhDs or Grants but eventually blocks of research come to an end. While software is listed as an output it is more often an abandonment. This is because the code, written for a purpose and normally by a single author, often isn’t usable by others. It can be hard to tell how to use functions or algorithms. It can even be incorrect. These problems are challenging to correct after authors leave projects. Much easier is the creation of reusable code with clear definitions and descriptions, stored accessibly and tested for distribution and use. There are many tools and methods to assist development and improve our software output. We can make the next cycle easier as software can be reused rather than re-implemented.
In the tutorial we will look at general methods for structuring, documenting, storing and testing code. We will introduce general and python specific tools for supporting developers. We will work through examples, but attendees are encouraged to bring their own projects to work on. The final part of the session (20-30 minutes) will be put aside for questions and to help people with their own code.
We will be using the following software which should be installed before hand if you want to follow the examples:
PyCharm (optional, recommended)
Sphinx
Poetry
Python3
Git (Optional)
Python packages:
unittest
A package of code for working through examples used in the workshop will be available here nearer the time.
To receive email updates on this tutorial please sign up here.
The files for the tutorial can be found:
Recordings available for staff and students of University of York, they can be provided in a downloaded form on request.