Is there a software (open source preferred) where I would input something like "Ingoing: a fermion $(p1, s1)$ and a photon $(p2, s2)$. Output: A fermion $(k1, r1)$ and a photon $(k2, r2)$" and I would could then get each diagram (that is, each term in the Dyson series) up to whichever order I choose, also showing terms that evaluate to zero (just to see that they are there)?
I have tried to compute the above diagram to 2nd order and I'm just baffled with how many details there are to collect, this seems like the perfect job for a computer, but I can't find anything that would do such a symbolic calculation (hopefully showing the steps along the way) and not just the final result.