WarpX is an advanced electromagnetic & electrostatic Particle-In-Cell code. It supports many features including Perfectly-Matched Layers (PML), mesh refinement, and the boosted-frame technique. A highly-parallel and highly-optimized code, WarpX can run on GPUs and multi-core CPUs, includes load balancing capabilities, and scales to the largest supercomputers.