Split a file iterator into balanced line-aligned parts

0
Remix

Split a large file into balanced parts for parallel workers without cutting lines in half: each part holds whole lines and the parts stay close in size. Reported on 1point3acres' Together AI bank; reconstructed in our own words.

No answer yet. Write the first one; the best answer gets endorsed.