CPA is a deep generative framework to learn effects of perturbations at the single-cell level. It performs OOD predictions of unseen combinations of drugs, learns interpretable embeddings, estimates dose-response curves, and provides uncertainty estimates.