This is more a conceptual question. I am unit testing a script I wrote that has multiple modules. I have a main.py and a formatting.py. My coverage is at 100% for formatting but my main.py is at 30%. In my main, I just call all of the functions inside formatting. Do i need to just test them again in main directly? This seems like a waste of time? Maybe I am not understanding correctly. Thanks in advance
The fact that internal pieces are tested allows you to capitalize on it by reducing the number of the tests required for the new, higher level method.
There always will be some redundancy between those, but decent and straightforward seams would allow you to have a very few tests for the new level. 
The guys in the other answers are talking about considering those tests as integrational, but I would claim that you also would need some tests in isolation for the upper function itself with all already tested dependencies being mocked and excluded. 
It's not always necessary, but please be aware that you end up with a mixed test otherwise, since there's a new functionality on the top level.
unit test main.py with other modules