It is possible, but in practice there are some complications.
It is more plausible, on the other hand, when given two packages, to answer whether they would install conflicting files. This is still complicated by the fact that setup.py can do literally anything, and there is no theoretical way to be 100% sure until you actually install it, but it is possible to make a (very) educated guess via wheels. Each .whl archive contains a
RECORD file that lists files to copy, so you can compare them to know whether conflicts exist.