pyGDM is an open source python toolkit for electro-dynamical simulations. It is written in pure python and implements the Green dyadic method (GDM), a volume discretization technique, suited for single particle nano-optics simulations. pyGDM is based on simulation codes and theoretical models developed over the past 20 years by Christian Girard at CEMES (see e.g. Ch. Girard 2005 Rep. Prog. Phys. 68 1883), with contributions from G. Colas des Francs, A. Arbouet, R. Marty, P.R. Wiecha and C. Majorel. In contrast to most other coupled-dipole codes, pyGDM uses a generalized propagator, which allows to cost-efficiently treat large monochromatic problems such as angle-of-incidence scans or raster-scan simulations. pyGDM includes tools to easily derive several physical quantities such as extinction, scattering and absorption cross-sections, far-field patterns, the electric and magnetic near-field or the the decay-rate / LDOS inside and in the vicinity of a structure, or the heat dissipated by a nanoparticle. pyGDM furthermore offers a toolkit for evolutionary optimization of nanoparticle geometries: The EO module allows to automatically design nanostructures which optimize optical properties such as a certain resonance wavelength, strong field enhancement or the direction of scattering.