I must confess I'm not really clear on how the current code even runs at all, since I thought these would raise errors immediately. Anyway, I think ideally these should be minimised, since you could get errors depending on which imports happen when/where.
There are several direct circular imports I have found in gwemopt, e.g
gwemopt.segments
importinggwemopt.utils
https://github.com/skyportal/gwemopt/blob/7c2b6b75dc5a16715a395722b620006dd495b966/gwemopt/segments.py#L21, butgwemopt.utils
also importinggwemopt.segments
https://github.com/skyportal/gwemopt/blob/7c2b6b75dc5a16715a395722b620006dd495b966/gwemopt/utils.py#L40.I must confess I'm not really clear on how the current code even runs at all, since I thought these would raise errors immediately. Anyway, I think ideally these should be minimised, since you could get errors depending on which imports happen when/where.