i-PI is a Path Integral Molecular Dynamics (PIMD) wrapper code written in Python, designed to be used together with ab initio evaluation of the interactions between the atoms. The main goal is to decouple the problem of evolving the ionic positions to sample the appropriate thermodynamic ensemble and the problem of computing the inter-atomic forces.
i-PI should be run as a separate program, and communicates with one or more instances of an electronic structure code using internet (or UNIX) sockets. The communication is regulated by a simple protocol, and requires patching the client code to handle the exchange of data with i-PI.
See [Ceriotti, More, Manolopoulos, Comp. Phys. Comm. 185 (2014)] for a discussion of the philosophy behind i-PI, and the github [repository] and [pages] for more information on downloading and using i-PI.