Opened 3 years ago

Closed 3 years ago

#8641 closed enhancement (fixed)

Remove Pandas from distribution if not used

Reported by: Tom Goddard Owned by: Zach Pearson
Priority: moderate Milestone: 1.6
Component: DICOM Version:
Keywords: Cc: chimera-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The ChimeraX distributions increased in size about 10% about a month ago. Eric looked at what was added and found pandas. Zach thinks pandas was pulled in by some new DICOM pypi package and is probably not being used. Would be desirable to uninstall pandas in prereqs/pips if it is not being used and can reduce the ChimeraX distribution size a good bit.

Change History (4)

comment:1 by Zach Pearson, 3 years ago

This was in the tcia_utils package which is used to get information about TCIA dicom collections. We could almost patch out the import, but it is used in the function that downloads series images. Although that's the case, we throw away the dataframe that the library constructs since we're not interested in it, so I can patch it to be optional for now and PR it to be optional later.

comment:2 by Eric Pettersen, 3 years ago

Cc: chimera-programmers added

FYI, looking through package METADATA in the daily build:

ipython-8.10.0.dist-info/METADATA:Requires-Dist: pandas ; extra == 'all'
ipython-8.10.0.dist-info/METADATA:Requires-Dist: pandas ; extra == 'test_extra'
networkx-2.8.8.dist-info/METADATA:Requires-Dist: pandas (>=1.3) ; extra == 'default'
tcia_utils-1.0.2.dist-info/METADATA:Requires-Dist: pandas

comment:3 by Zach Pearson, 3 years ago

Those are optional dependencies for IPython. In networkx's case I don't think it's really optional -- they put everything in different extra_requires instead of install_requires -- but it's used in two places that must be reasonably high traffic (alphafold/pae, interfaces/graph) so if we haven't seen any bugs about it before we must not hit a code path that needs it.

Let's remove it for Thursday's daily build. I'll patch tcia_utils to make it optional and write a line to take it out in prereqs/pips/Makefile, then follow up on GitHub about upstreaming the patch.

comment:4 by Zach Pearson, 3 years ago

Resolution: fixed
Status: assignedclosed

I was able to patch the Pandas dependency out of tcia_utils, building off another patch its maintainer made but hasn't yet published.

Note: See TracTickets for help on using tickets.