astropy / astropy

Astronomy and astrophysics core library
https://www.astropy.org
BSD 3-Clause "New" or "Revised" License
4.43k stars 1.78k forks source link

Astropys package requirements (the optional ones) #6802

Closed MSeifert04 closed 6 years ago

MSeifert04 commented 7 years ago

We currently have two places where we put the optional and dev dependencies. I just checked which packages are used inside astropy and both the pip-requirements files as well as the documentation (http://docs.astropy.org/en/latest/install.html) are a bit out of date.

This is the list of imported modules inside astropy (most but not all of them are already mentioned):

Test runner related imports (may not be complete):
coverage
psutil
py  (that's pytest right?!)

Imports at runtime:
bintrees
bleach
bs4
Carbon (whatever that is...)
cycler ("could" probably be omitted because it's a dependency for matplotlib)
h5py
ipykernel
IPython
ipywidgets
jplephem
matplotlib
mpmath
networkx
pytz
pandas
skimage
scipy
yaml

Only imported inside the test:
objgraph
PIL
skyfield

I didn't know if I should just go ahead and add the missing packages to those files or if I shouldn't. :)

pllim commented 7 years ago

py

https://pypi.python.org/pypi/py/1.4.34

Carbon

Maybe this one https://pypi.python.org/pypi/carbon/1.0.2 ? But not sure what it is for. I tried conda search Carbon -n py36 --use-local --names-only --reverse-dependency but conda can't even find it, whether I capitalize the "C" or not.

cycler

Is it related to #4644 ?

drdavella commented 7 years ago

Just wanted to note that it's not necessarily out of date if the imported packages are dependencies of other that packages are explicitly imported. For example, py is a dependency of pytest, so there's no reason to make its dependency explicit in astropy.

MSeifert04 commented 7 years ago

Yes, it was just a dump of all explicitly imported packages that aren't listed in setup.py. I really didn't investigate much I just noticed that several of these aren't listed in pip_requirements_dev or/and the narrative docs.

I really don't know if it's worth updating any of the files but I thought since I already scanned the source I post it here as issue.

bsipocz commented 6 years ago

See #7397. It was mostly based on the list above here, and the list we use on travis. As discussed above, I've not added the dependencies of dependencies, neither packages that are imported in order to provide support for their functionalities (e.g. ipython).