The multivariate adaptive regression splines algorithm is a nonparametric regression method. It finds a nonlinear relationship between a set of predictors and responses that minimizes squared error loss under a penalty designed to induce reasonable smoothness. The py-earth package provides an implementation of the algorithm that is both feature-rich and compatible with the usual members of the Python data science ecosystem, such as numpy, pandas, and scikit-learn. I will discuss the algorithm itself, the py-earth package and some of the features that make it unique, and give examples of its use in real data sets.