# python3 -m venv example
# source example/bin/activate
(example) # pip install pyflakes
Collecting pyflakes
Downloading pyflakes-1.5.0-py2.py3-none-any.whl (225kB)
100% || 225kB 892kB/s
Installing collected packages: pyflakes
Successfully installed pyflakes-1.5.0
(example) # time for i in {00..99}; do python -m pyflakes /dev/null; done
real 0m7.167s
user 0m6.407s
sys 0m0.750s
(example) # time for i in {00..99}; do pyflakes /dev/null; done
real 0m7.661s
user 0m6.894s
sys 0m0.753s
I've noticed that using argparse makes my scripts start very slow, especially if you expose a large number of option. I have a script that I wrote for work that has quite a variable number of available options and it can sometimes take several seconds for the script to startup and actually begin doing anything useful.
For me, it is not debugable. I wanted to propose and start a reference implementation for supporting --[no-]bool-opt, but I quickly gave up. There's some solutions on SO, but none of them are sufficient. The best solution makes --bool-opt mutually exclusive to --no-bool-opt which will cause a hard failure which is not okay for shell aliases.