Are you talking about just for compiling and uploading code? If you run the IDE and turn on all the verbose mode in settings you can see the commands that it calls for the compiler to compile and for whatever software it is using to upload. You can call those same commands from python without the IDE, though you may need to install parts of the toolchain. That installation can most likely be done from python as well if you're creative.
The IDE would only be used initially to compile the sketch and generate the distribution binary files. The user's windows system would have no IDE or python installed, so Ideally some form of utility could be used to upload the compiled sketch, possible a standalone python application generated using pyinstaller. Then all the user would need is a USB cable, the utility and binary.
The only requirement is there be no installed windows utilities as IT departments often tend to control systems. A cheap standalone USB programmer could be a possible alternative.
"avrdude" is what the Arduino IDE uses "under the covers" to upload sketches to any of the AVR-based Arduino boards. It's complex and annoying to use on its own (from the command line!), but it's so powerful and complete that there is very little motivation for anyone to write a simpler utility.
"avrdudess" is a utility that adds a GUI to avrdude.
You could wrap it in a .bat file...
Installed avrdude, searched online for a command string, created and ran a batch file and programmed a Mega 2560 Pro embed, all seem to work OK, quite amazing!
Great suggestion and solution, problem solved - Thank you!
If you go to the arduino IDE "preferences" panel and configure "verbose" for "uploading", you'll be able to see exactly the avrdude commands that the IDE issues on your behalf. (and for that matter, the commands used for non-AVR, non-avrdude uploads as well - the IDE ALWAYS uses an external tool for uploading.)