If you're using scipy.signal and processing signals offline, then you can just use decimate which handles the filtering for you. It also does zero-phase filtering by default, which you probably want for an EEG signal to avoid shifting the shape of the waveforms? (I know that's desirable for EKG, not sure about EEG.)
Anti-aliasing filtering is applied just as any other LTI filtering: If your input data is $x[n]$, and the impulse response is $h[n]$, then your output will be
$$y[n] = x[n] \star h[n] $$
where $\star$ is the convolution operation, a.k.a. the anti-aliasing filtering in this context.
Your impulse response $h[n]$, ideally, corresponds to a lowpass brickwall ...