wpca, written in Python, offers several implementations of Weighted Principal Component Analysis and uses an interface similar to scikit-learn's sklearn.decomposition.PCA. Implementations include a direct decomposition of a weighted covariance matrix to compute principal vectors, and then a weighted least squares optimization to compute principal components, and an iterative expectation-maximization approach to solve simultaneously for the principal vectors and principal components of weighted data. It also includes a standard non-weighted PCA implemented using the singular value decomposition, primarily to be useful for testing.