pyuvdata defines a pythonic interface to interferometric data sets; it supports the development of and interchange of data between calibration and foreground subtraction pipelines. It can read and write MIRIAD (ascl:1106.007), uvfits, and uvh5 files and reads CASA (ascl:1107.013) measurement sets and FHD (ascl:2205.014) visibility save files. Particular focus has been paid to supporting drift and phased array modes.