The initial-state shower algorithms in PYTHIA are not quite as sophisticated as the final-state ones. This is partly because initial-state radiation is less well understood theoretically, and partly because the programming task is more complicated and ambiguous. Still, the program at disposal is known to do a reasonably good job of describing existing data, such as production properties at hadron colliders [Sjö85]. It can be used both for QCD showers and for photon emission off leptons (, or ; relative to earlier versions, the description of incoming and are better geared to represent the differences in lepton mass, and the lepton-inside-lepton parton distributions are properly defined).
Again we begin with a fairly model-independent overview before zooming in on the old virtuality-ordered algorithm implemented in PYSSPA. The new transverse-momentum-ordered formalism in PYPTIS, described at the end, shares much of the same philosophy, apart from the quite important choice of evolution variable, of course.