avoid circular dependency in setup.py (requests isn't installed yet)