I need to print a lot of address labels, so I may as well get off on the right foot. The SW should be able to allow the user to specify the size of the label, and optionally save some preset address configurations.
If I was going to be doing a big batch occasionally I would go with Avery. If I was going to be doing small quantities more frequently I would go with Dymo.
I went with a model in the Brother QL line (QL-800). Unlike Dymo, you don’t even need to use the manufacturer’s software if you don’t mind writing a little Python code; all made possible by the brother_ql library. You can see an example of my code here. The provided software is “okay” (not great), but it gets the job done. If you use the right type of rolls, some models even support two color (black and red) printing.