MM-PBSA is a post-processing end-state method to calculate free energies of molecules in solution. MMPBSA.py is a program written in Python for streamlining end-state free energy calculations using ensembles derived from molecular dynamics (MD) or Monte Carlo (MC) simulations. Several implicit solvation models are available with MMPBSA.py, including the Poisson-Boltzmann Model, the Generalized Born Model, and the Reference Interaction Site Model. Vibrational frequencies may be calculated using normal mode or quasi-harmonic analysis to approximate the solute entropy. Specific interactions can also be dissected using free energy decomposition or alanine scanning. A parallel implementation significantly speeds up the calculation by dividing frames evenly across available processors. MMPBSA.py is an efficient, user-friendly program with the flexibility to accommodate the needs of users performing end-state free energy calculations. The source code can be downloaded at http://ambermd.org/ with AmberTools, released under the GNU General Public License.