Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

strip requirements to minimum #454

Closed
aaronspring opened this issue Sep 25, 2020 · 8 comments · Fixed by #471 or #572
Closed

strip requirements to minimum #454

aaronspring opened this issue Sep 25, 2020 · 8 comments · Fixed by #471 or #572

Comments

@aaronspring
Copy link
Collaborator

tqdm can go away
cartopy only needed for docs, not climpred as such
mpl only needed for graphics, could be optional
many other requirements could become extra, see xarray how they skip tests if something not installed

@bradyrx
Copy link
Collaborator

bradyrx commented Sep 25, 2020

Agreed on tqdm.

cartopy isn't in the main requirements file -- it's just in docs and dev. Maybe we should have a reduced requirements file just for testing so travis goes faster when installing everything. Right now we have a thorough dev requirements for convenience, but that's used by the testing suite.

Agreed on mpl. We could go back to the optional install for that.

@aaronspring
Copy link
Collaborator Author

xesmf can also be optional. Then not needed in #471

@bradyrx
Copy link
Collaborator

bradyrx commented Sep 29, 2020

The tests were breaking without it so need to make sure the smoothing tests only run when xesmf is installed. How do we make sure those are tested? I think we should have it as our testing suite even if it's optional for users.

@aaronspring
Copy link
Collaborator Author

we could have xesmf as extras_require so they don’t get installed for every user. But still we could have climpred[complete/all] in which we add it and then also test it

@bradyrx
Copy link
Collaborator

bradyrx commented Oct 1, 2020

See https://github.com/pangeo-data/climpred/pull/471/files. Got rid of tqdm. Need toolz and ipython to actually run climpred from a raw install. Same with matplotlib since it's imported. We don't need to require xesmf since it's optional via a try: except statement.

We can make matplotlib optional if we also do a try/except statement. Feel free to re-open this if you want to add xesmf and matplotlib as optional installs.

@bradyrx bradyrx closed this as completed Oct 1, 2020
@aaronspring
Copy link
Collaborator Author

aaronspring commented Feb 11, 2021

current list and my related comments:

cftime>=1.1.2  # we really need this
eofs  # only for the eof install part. could become optional here
esmtools>=1.1.3  # only strictly needed for https://github.com/pangeo-data/climpred/blob/14a4c687804fb83ffdf69064a278a989e3a28ae3/climpred/stats.py#L13 and used in examples, hence could go out of requirements
ipython  # required for html repr
matplotlib  # strictly speaking could be optional
numpy<=1.19  # needed but also installed by xarray
pandas  # installed by xarray
scipy # required for probabilistic metrics norm, could become optional, part of xs
toolz  # for installation, maybe setuptools as in xarray?
xarray>=0.16.1  # obvious parent
xrft
xskillscore>=0.0.18  # required
netcdf4  # required to load nc
nc-time-axis  # required for viz

xesmf not on the list but needed for regridding in smoothing

@aaronspring aaronspring reopened this Feb 11, 2021
@aaronspring aaronspring self-assigned this Feb 11, 2021
@bradyrx
Copy link
Collaborator

bradyrx commented Feb 16, 2021

Can we close this @aaronspring ?

@aaronspring
Copy link
Collaborator Author

I will further refine this in the next weeks, so dont close please. but we dont have any import errors anymore at least

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants