It would be pretty simple with statsmodels
import statsmodels.api as sm
mod = sm.OLS.from_formula('y ~ x', data=df) # y and x are column names in the DataFrame
res = mod.fit()
fig, ax = plt.subplots()
sm.graphics.abline_plot(model_results=res, ax=ax)
df.plot(kind='scatter', x='x', y='y', ax=ax)