  Recent research in materials science opens exciting perspectives to design
novel quantum materials and devices, but it calls for quantitative predictions
of properties which are not accessible in standard first principles packages.
PAOFLOW is a software tool that constructs tight-binding Hamiltonians from
self-consistent electronic wavefunctions by projecting onto a set of atomic
orbitals. The electronic structure provides numerous materials properties that
otherwise would have to be calculated via phenomenological models. In this
paper, we describe recent re-design of the code as well as the new features and
improvements in performance. In particular, we have implemented symmetry
operations for unfolding equivalent k-points, which drastically reduces the
runtime requirements of first principles calculations, and we have provided
internal routines of projections onto atomic orbitals enabling generation of
real space atomic orbitals. Moreover, we have included models for non-constant
relaxation time in electronic transport calculations, doubling the real space
dimensions of the Hamiltonian as well as the construction of Hamiltonians
directly from analytical models. Importantly, PAOFLOW has been now converted
into a Python package, and is streamlined for use directly within other Python
codes. The new object oriented design treats PAOFLOWs computational routines as
class methods, providing an API for explicit control of each calculation.
