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
A good rule of thumb for unit testing is to:

separate your code from the part that does logic and the part that does input/output
unit test the part that does logic
not unit test the part that does i/o

But how will you know the program works then? Well, how about some integration tests? For example, if you're writing a command line script, an integration test might run it the whole script with some inputs and check if the script did the right thing, without even considering how it is structured.
Depending on your needs and the size of the script, you might decide to have unit tests, integration tests or both.
unit test main.py with other modules