Skip to content

Commit fdd3dd0

Browse files
authored
Adding slides for CCMI CDT software week demo (#1)
1 parent b811983 commit fdd3dd0

2 files changed

Lines changed: 194 additions & 0 deletions

File tree

2026-03-19-ccmi-cdt-demo.qmd

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
---
2+
title: CCMI CDT software week demo
3+
date: 2026-03-19
4+
date-format: long
5+
institute: UCL Centre for Advanced Research Computing
6+
title-image: https://raw.githubusercontent.com/UCL-ARC/python-tooling/main/images/banner.svg
7+
title-image-width: 70%
8+
background-image: images/arc-banner.svg
9+
---
10+
11+
## 👥 Contributors {.smaller}
12+
13+
:::{.column width="90%"}
14+
15+
:::::: {.columns}
16+
::: {.column width="11.1%"}
17+
[![Paddy Roddy](https://avatars.githubusercontent.com/u/15052188?v=4?s=100)](https://paddyroddy.github.io/)
18+
:::
19+
::: {.column width="11.1%"}
20+
[![Sam Cunliffe](https://avatars.githubusercontent.com/u/1836192?v=4?s=100)](http://scnlf.me)
21+
:::
22+
::: {.column width="11.1%"}
23+
[![David Stansby](https://avatars.githubusercontent.com/u/6197628?v=4?s=100)](https://www.davidstansby.com/)
24+
:::
25+
::: {.column width="11.1%"}
26+
[![Matt Graham](https://avatars.githubusercontent.com/u/6746980?v=4?s=100)](http://matt-graham.github.io)
27+
:::
28+
::: {.column width="11.1%"}
29+
[![Sofía Miñano](https://avatars.githubusercontent.com/u/33267254?v=4?s=100)](https://sfmig.github.io/)
30+
:::
31+
::: {.column width="11.1%"}
32+
[![Paul Smith](https://avatars.githubusercontent.com/u/29753790?v=4?s=100)](https://github.com/p-j-smith/)
33+
:::
34+
::: {.column width="11.1%"}
35+
[![Ruaridh Gollifer](https://avatars.githubusercontent.com/u/32329546?v=4?s=100)](https://github.com/ruaridhg)
36+
:::
37+
::: {.column width="11.1%"}
38+
[![Miguel Xochicale](https://avatars.githubusercontent.com/u/11370681?v=4?s=100)](https://github.com/mxochicale)
39+
:::
40+
::: {.column width="11.1%"}
41+
[![Yidil Ozdemir](https://avatars.githubusercontent.com/u/30597301?v=4?s=100)](https://github.com/yidilozdemir)
42+
:::
43+
:::
44+
45+
:::::: {.columns}
46+
::: {.column width="11.1%"}
47+
[![Mosè Giordano](https://avatars.githubusercontent.com/u/765740?v=4?s=100)](https://giordano.github.io/)
48+
:::
49+
::: {.column width="11.1%"}
50+
[![Tom Young](https://avatars.githubusercontent.com/u/39765193?v=4?s=100)](http://t-young31.github.io/)
51+
:::
52+
::: {.column width="11.1%"}
53+
[![Alessandro Felder](https://avatars.githubusercontent.com/u/10500965?v=4?s=100)](https://github.com/alessandrofelder)
54+
:::
55+
::: {.column width="11.1%"}
56+
[![Adam Tyson](https://avatars.githubusercontent.com/u/13147259?v=4?s=100)](http://adamltyson.com/)
57+
:::
58+
::: {.column width="11.1%"}
59+
[![Will Graham](https://avatars.githubusercontent.com/u/32364977?v=4?s=100)](https://willgraham01.github.io/)
60+
:::
61+
::: {.column width="11.1%"}
62+
[![Nik Khadijah Nik Aznan](https://avatars.githubusercontent.com/u/48319650?v=4?s=100)](https://github.com/nikk-nikaznan)
63+
:::
64+
::: {.column width="11.1%"}
65+
[![Katie Buntić](https://avatars.githubusercontent.com/u/96536608?v=4?s=100)](https://github.com/katiebuntic)
66+
:::
67+
::: {.column width="11.1%"}
68+
[![Robert Vickerstaff](https://avatars.githubusercontent.com/u/456100?v=4?s=100)](https://github.com/robertvi)
69+
:::
70+
::: {.column width="11.1%"}
71+
[![David Pérez-Suárez](https://avatars.githubusercontent.com/u/963242?v=4?s=100)](http://dpshelio.github.io)
72+
:::
73+
:::
74+
75+
:::::: {.columns}
76+
::: {.column width="11.1%"}
77+
[![Luke Lapira](https://avatars.githubusercontent.com/u/48060852?v=4?s=100)](http://luke.lapira.eu/)
78+
:::
79+
::: {.column width="11.1%"}
80+
[![Saransh Chopra](https://avatars.githubusercontent.com/u/74055102?v=4?s=100)](https://saransh-cpp.github.io/)
81+
:::
82+
::: {.column width="11.1%"}
83+
[![Andrew Mitchell](https://avatars.githubusercontent.com/u/22335636?v=4?s=100)](http://drandrewmitchell.com/)
84+
:::
85+
::: {.column width="11.1%"}
86+
[![Kimberly Meechan](https://avatars.githubusercontent.com/u/24316371?v=4?s=100)](https://profiles.ucl.ac.uk/96751-kimberly-meechan)
87+
:::
88+
::: {.column width="11.1%"}
89+
[![James Prime](https://avatars.githubusercontent.com/u/17751241?v=4?s=100)](https://github.com/jamesprime)
90+
:::
91+
::: {.column width="11.1%"}
92+
[![Andrii Tsapko](https://avatars.githubusercontent.com/u/28014041?v=4?s=100)](https://github.com/cuteshaun)
93+
:::
94+
::: {.column width="11.1%"}
95+
[![James Briant](https://avatars.githubusercontent.com/u/6298711?v=4?s=100)](http://james.briant.co.uk/)
96+
:::
97+
::: {.column width="11.1%"}
98+
[![Stella Prins](https://avatars.githubusercontent.com/u/30465823?v=4?s=100)](https://github.com/stellaprins)
99+
:::
100+
::: {.column width="11.1%"}
101+
[![Connor Aird](https://avatars.githubusercontent.com/u/61978554?v=4?s=100)](https://github.com/connoraird)
102+
:::
103+
:::
104+
105+
:::
106+
107+
:::notes
108+
This project is the result of the contributions of a large number of people from across ARC and also other departments in UCL such as the Department of Mechanical Engineering and Sainsburys Wellcome Centre. Of particular note are David Stansby, who had the initial idea and organized the original doc-a-thon sessions which got the ball rolling on the project, and Paddy Roddy and Sam Cunliffe, who both have made significant contributions and done a lot of the on-going event organization and project management.
109+
:::
110+
111+
## 💡 Introduction
112+
113+
:::::: {.columns}
114+
::: {.column .fragment width="25%"}
115+
![](https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg){height="300px"}
116+
:::
117+
::: {.column .fragment width="25%"}
118+
![](images/pypi-logo.svg){height="300px"}
119+
:::
120+
::: {.column .fragment width="25%"}
121+
![](images/paralysis-of-choice.svg){height="300px"}
122+
:::
123+
::: {.column .fragment width="25%"}
124+
![](https://raw.githubusercontent.com/UCL-ARC/python-tooling/main/images/logo.svg){height="300px"}
125+
:::
126+
:::
127+
128+
:::notes
129+
To give a bit of initial context:
130+
131+
The Python programming language is widely used in research software, due to its ease of use, wide ecosystem of existing libraries and open-source licencing.
132+
133+
Python packages are a way to organize Python code into reusable components, and so are a vital part of building sustainable research software in Python.
134+
135+
A common dilemma faced by researchers using Python is the paralysis of choice that comes from the incredibly wide range of tools available for developing, testing, documenting and benchmarking Python packages, with it often unclear what constitutes good choices of tools to use.
136+
137+
The `python-tooling` project is a set of resources developed by UCL ARC to help researchers in choosing and setting up tooling to use in Python research software projects.
138+
:::
139+
140+
## 🔎 Overview
141+
142+
:::{.no-bullet}
143+
- 🚦 Tool recommendations website <br /> <https://github-pages.arc.ucl.ac.uk/python-tooling>
144+
- 🍪 Package cookiecutter template <br /> <https://github.com/UCL-ARC/python-tooling>
145+
:::
146+
147+
:::notes
148+
The project consists of
149+
150+
- a website which uses a traffic light system to give recommendations on tools and services that are useful when building a Python package,
151+
- and a cookiecutter template that can be used to quickly set up a Python package with our tooling recommendations to ensure that a new project adheres with good research software development practice.
152+
:::
153+
154+
## 🚦 Tool recommendations website
155+
156+
:::notes
157+
The website has pages giving recommendations on a range of different categories of tools and services, such as utilities for benchmarking and profiling code to improve performance, generating documentation and writing and running tests.
158+
159+
On each page a table listing relevant tools and packages with a link to the package or service, a short summary and a traffic light recommendation for each.
160+
161+
The traffic lights are meant to give a quick opinionated suggestion of the tools we most recommend for a particular task.
162+
:::
163+
164+
```{=html}
165+
<iframe src="https://github-pages.arc.ucl.ac.uk/python-tooling" title="UCL ARC Python tooling website" width="1000" height="500" style="border:none;" ></iframe>
166+
```
167+
168+
## 🍪 Template demo
169+
170+
<div id="python-tooling-demo"></div>
171+
<script src="/js/asciinema-player.min.js"></script>
172+
<script>
173+
AsciinemaPlayer.create('images/python-tooling.cast', document.getElementById('python-tooling-demo'), {
174+
speed: 0.75,
175+
cols: 115,
176+
height: 16,
177+
autoPlay: false,
178+
preload: true
179+
});
180+
</script>
181+
182+
:::notes
183+
184+
```
185+
uvx cookiecutter gh:ucl-arc/python-tooling --checkout-latest
186+
```
187+
188+
:::
189+
190+
## 🧑‍🏫 Tutorial
191+
192+
![](images/docs-tutorial-qr-code.gif)
193+
194+
<https://github-pages.arc.ucl.ac.uk/python-tooling/pages/tutorial.html>

images/docs-tutorial-qr-code.gif

1.82 KB
Loading

0 commit comments

Comments
 (0)