Here’s an example with same sized circles, packing on one half, with some kept on the symmetry plane:
symmetric_circls.gh (33.7 KB)
You do have to set how many will be on the symmetry plane, and it can be a little bit of trial and error to find what works well for the number and radius of circles you have. I also find that to get a better arrangement it helps to move the radius slider up and down a bit, to encourage them to jiggle into a lower energy state. You could also use the Grab component to manually improve the packing.
With equal sized circles, it isn’t possible to have a compact circle packing with all 3 sided gaps. If that’s what you’re after it needs a different approach, like what I showed here: Circle Packing in Enclosed Boundary - Unwanted Overlap