-
Notifications
You must be signed in to change notification settings - Fork 33
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
Separate the dependencies into several extras #446
Comments
I highly support that, and it makes sense when there are large packages that are seldom used within our codebase. The only one I can think of fitting both categories is sklearn, and of course the LiPD package, which is soon to be deprecated. Any other candidates on the "extra" chopping block? |
I see the current dependency list is not too long. Rethinking of this, I think the point is to improve compatibility and stability, i.e., dependencies that weaken compatibility and stability should be in the "extra" block. With this in mind, it would be nice if the following can be done:
|
Well, this exemplifies the problem: our stack depends both on well-maintained, frequently updated packages like SciPy and less well maintained packages like Cartopy that break fairly often. We're not immune to that either. So I'm not sure what the solution is, because for practical purposes, if we don't pin certain packages, we find bugs every time. How do you handle that for |
In general, the strategy is to list only the minimum but highest level of dependencies. For example, in |
That sounds like a sensible path. I suggest creating a new branch in which you trim down setup.py and environment.yml until the CI tests pass (they are executed automatically when you generate a Pull Request). If we can get that to work with the current Cartopy/Scipy conflict, I'll be impressed... |
with the docs building and CI tests passing, I'm going to close this issue. However, we'll have to revisit this as time goes on, perhaps as early as the resolution of the Cartopy/SciPy conflict |
To keep the core package more lightweight, it might be a good idea to separate the dependencies into several extras (see https://stackoverflow.com/questions/52474931/what-is-extra-in-pypi-dependency for the details).
This will allow other packages use some of the Pyleoclim classes without depending on too many dependencies that might not be really leveraged.
The text was updated successfully, but these errors were encountered: