  LibRPA is a software package designed for efficient calculations of random
phase approximation (RPA) electron correlation energies from first principles
using numerical atomic orbital (NAOs). Leveraging a localized resolution of
identity (LRI) technique, LibRPA achieves $O(N^2)$ or better scaling behavior,
making it suitable for large-scale calculation of periodic systems. Implemented
in C++ and Python with MPI/OpenMP parallelism, LibRPA integrates seamlessly
with NAO-based density functional theory (DFT) packages through flexible
file-based and API-based interfaces. In this work, we present the theoretical
framework, algorithm, software architecture, and installation and usage guide
of LibRPA. Performance benchmarks, including the parallel efficiency with
respect to the computational resources and the adsorption energy calculations
for H$_2$O molecules on graphene, demonstrate its nearly ideal scalability and
numerical reliability. LibRPA offers a useful tool for RPA-based calculations
for large-scale extended systems.
