Scipy is probably the best tool for this. You can use scipy's signal processing libraries.
Matlab-style IIR filter design
butter(N, Wn[, btype, analog, output, fs]) -Butterworth digital and analog filter design.
buttord(wp, ws, gpass, gstop[, analog, fs]) - Butterworth filter order selection.
cheby1(N, rp, Wn[, btype, analog, output, fs]) -
Chebyshev type I digital and analog filter design.
cheb1ord(wp, ws, gpass, gstop[, analog, fs]) -
Chebyshev type I filter order selection.
cheby2(N, rs, Wn[, btype, analog, output, fs])-
Chebyshev type II digital and analog filter design.
cheb2ord(wp, ws, gpass, gstop[, analog, fs]) -
Chebyshev type II filter order selection.
ellip(N, rp, rs, Wn[, btype, analog, output, fs])-
Elliptic (Cauer) digital and analog filter design.
ellipord(wp, ws, gpass, gstop[, analog, fs])-
Elliptic (Cauer) filter order selection.
bessel(N, Wn[, btype, analog, output, norm, fs]) -
Bessel/Thomson digital and analog filter design.
iirnotch(w0, Q[, fs]) -
Design second-order IIR notch digital filter.
iirpeak(w0, Q[, fs]) -
Design second-order IIR peak (resonant) digital filter.