gwastro / pycbc

Core package to analyze gravitational-wave data, find signals, and study their parameters. This package was used in the first direct detection of gravitational waves (GW150914), and is used in the ongoing analysis of LIGO/Virgo data.
http://pycbc.org
GNU General Public License v3.0
313 stars 347 forks source link

Does PyCBC actually need pillow? #3026

Open duncanmmacleod opened 4 years ago

duncanmmacleod commented 4 years ago

PyCBC has a dependency on Pillow:

https://github.com/gwastro/pycbc/blob/60502a8a097e0692c9930cc9f3f0816e46eb6c4b/setup.py#L45

but I can't see that being used anywhere. Can this dependency be removed?

ahnitz commented 4 years ago

Yes, we use this when generating result plots. It allows us to store all our metadata directly in the images (such as captions, titles, and links, etc).

duncanmmacleod commented 4 years ago

So this is an optional dependency of ... matplotlib?

ahnitz commented 4 years ago

At the moment, it has the same level of requirement as matplotlib. It would be straightforward though to block that off to be even more optional (i.e so not even plotting codes break without it).

ahnitz commented 4 years ago

At that point, I'd be comfortable removing it as an library dependence and just having it in the requirements.txt file. Is that what you are after?

duncanmmacleod commented 4 years ago

To be honest, I was just curious, its in the build, but I didn't see any references. It's not causing any problems, so maybe just a note in the setup.py to explain why it is there would ward off more people like me.

ahnitz commented 4 years ago

@duncanmmacleod Eh, easy enough to reduce the dependency to optional. PR here #3027