extended setup.py extras require