The docs for the (awesome) Click package suggest a few reasons to use entry points instead of scripts, including
- cross-platform compatibility and
- avoiding having the interpreter assign
__name__to__main__, which could cause code to be imported twice (if another module imports your script)
Click is a nice way to implement functions for use as entry_points, btw.