How would I create a cylindrical source

Thanks very much. sorry I didn’t reply sooner.
Got it working (I think) with:

#initialises a new source object
source = openmc.Source()
radius=1.0
pi=3.14159265359

r = openmc.stats.PowerLaw(0.0, radius, 1.0)
phi = openmc.stats.Uniform(0.0, 2*pi)
z = openmc.stats.Uniform(a=0.0, b=5.0)
spatial_dist = openmc.stats.CylindricalIndependent(r, phi, z)

source.angle = openmc.stats.Isotropic()
source.energy = openmc.stats.Discrete([14.08e6], [1.0])
source.space=spatial_dist

I adapted this from the example you gave.