How to downsample the dipole points of a distributed source?

Maybe there is a way to downsample the source dipole points?
I chose the frontal lobe as the area I am interested in, but there are 48,146 source dipole points in it. I don’t need that many, 2000 is enough.
So is there any way to downsample Label instances?
Or down-sampling the entire source space is also possible.

mne.setup_source_space() lets you choose the vertex spacing (ico5, oct6, etc). If you’re working with a label that has high vertex density and a source space with lower density, then you can use Label.restrict().

I get the src instance by reading the .fif format file, so I can no longer modify the src.
I did not find a function for downsampling in the SourceSpace class, so I can’t downsample the Label through the Label.restrict() method.