dependency management with setup.py