EQcorrscan is an open-source Python package for the detection and analysis of repeating and near-repeating seismicity. The project is focused on well-tested deployments of effective match filter and subspace detection routines. Detection can be carried out on machines ranging from workstations and servers, to super-computers and distributed computing environments. Because the package is written in Python and heavily leverages ObsPy, EQcorrscan can run on all major operating systems and read most seismological data formats for waveforms, events, and stations. Apart from the core detection routines, functions are included for template creation, stacking (including phase-weighted stacking), magnitude calculation (including singular-value decomposition derived relative moments), and event clustering. We chose to develop the package in Python to provide readable and user-friendly code, alongside comprehensive, and continuously updated documentation. Numerically intensive routines are written in C to improve efficiency.