update.py contains logic related to the Tower API. It should be extracted from there.
The Tower API is also instantiated per analysis. It should be refactored to only be instantiated once, it should also be split into two:
A TowerAPIClient which only handles the interactions with the REST API
A TowerService which wraps around the client, doing any necessary remapping to dtos/domain models
update.py
contains logic related to the Tower API. It should be extracted from there. The Tower API is also instantiated per analysis. It should be refactored to only be instantiated once, it should also be split into two: