I think you can just specify weights=sampling_weights. The only result
that is affected by the normalization (weights.sum() is arbitrary) are
the units of the scale. parameter estimates and covariance of the
parameter estimates are (should be) independent of the interpretation
of the weights.
AFAICS, WLS does not allow weighted prediction. The current weights in
WLS are interpreted as variance weights reflecting heteroscedasticity.
(There might be a work around for WLS but I have not looked at this
yet.)
However, we are not supporting survey weights yet. While I think the
above is correct and should work with WLS, I would recommend checking
against Stata or similar.
The question is coming maybe half a year too early. We just started a
Google summer of code project on survey methods. Additionally, GLM is
the first model that is currently getting several types of weights,
where we figure out how to support this more generally. Once we have
more unit tests against Stata's weights, and specifically pweights for
this, we will know what works and what doesn't.
Josef