google-research / torchsde

Differentiable SDE solvers with GPU support and efficient sensitivity analysis.
Apache License 2.0
1.51k stars 194 forks source link

Bump dependencies #99

Closed dhirschfeld closed 2 years ago

dhirschfeld commented 3 years ago

Resolves #98

dhirschfeld commented 3 years ago

Figured I'd see if it breaks anything! 😅

dhirschfeld commented 3 years ago

ping! Anyone able to take a look? At least kick off the CI?

lxuechen commented 3 years ago

The Py3.6 runs failed due to scipy not being compatible. I just replicated this behaviour on my machine as well. I think a simple workaround is to enforce the version more strictly using the Python version fetched during run time in setup.py. WDYT?

Happy to also accept other potentially better sol'ns. Thanks for the patience again.

patrick-kidger commented 3 years ago

@lxuechen One possible resolution -- I'd be happy to bump the minimum Python version to 3.7 if you are? I hear on the grapevine that that's the minimum version PyTorch is going to be supporting pretty soon anyway.

dhirschfeld commented 3 years ago

I'd be happy to bump the minimum Python version to 3.7 if you are?

That works for me. The latest scipy already has a minimum version of py37: https://github.com/scipy/scipy/pull/13081

lxuechen commented 3 years ago

I'd be happy to bump the minimum Python version to 3.7 if you are?

That works for me. The latest scipy already has a minimum version of py37: scipy/scipy#13081

For now, I think since torch hasn't dropped support for Python3.5, I'd prefer that we don't up the min version yet. Feel free to leave a TODO in setup.py so that we may revisit in the future.

lxuechen commented 3 years ago

Thanks again for sending in this PR, @dhirschfeld ! I still plan to merge this even though there's been a huge delay. If you could do a rebase from master and add the runtime Python version checks, I can merge this right away.

Again, sorry for the unresponsiveness on my end.

dhirschfeld commented 3 years ago

Hi @lxuechen, sorry I've been meaning to circle back to this but I'm pretty smashed with the end of the fin-year coming up. I might not get around to revisiting for a couple of weeks so I'm happy for you to take this over or to start fresh if you's like it in sooner - whatever is easiest.

Sayam753 commented 3 years ago

Hi @lxuechen . Is this PR ready to be merged? or are there some TODOs still remaining?

Sayam753 commented 3 years ago

Here is the PR https://github.com/Sayam753/torchsde/pull/1 at my fork which bumps the dependencies. I can roll out a PR in this repo if this is the right way to update dependencies :)

dhirschfeld commented 3 years ago

The last scipy compatible with py36 was 1.5.4: https://github.com/scipy/scipy/blob/v1.5.4/setup.py#L539

Since scipy=1.7.0 isn't compatible with py36 pip should never have tried installing it. Unfortunately pip isn't smart enough to work that out :/

dhirschfeld commented 3 years ago

@lxuechen / @patrick-kidger can you please approve the CI so that I can test out a solution using platform specific dependencies?

image

patrick-kidger commented 2 years ago

Approved the CI but I don't see any platform-specific dependencies in the current PR. (Sorry that this has been such a faff to resolve, by the way.)

dhirschfeld commented 2 years ago

I don't see any platform-specific dependencies in the current PR.

Right, sorry - didn't push. Looks like it needs to be approved on every commit? That's not a great UX/DX for anyone! 😬

dhirschfeld commented 2 years ago

Same issue with numpy - 1.19.5 was the last version to support py36

dhirschfeld commented 2 years ago

Sorry that this has been such a faff to resolve, by the way.

No worries - looks like we got there in the end! :tada:

patrick-kidger commented 2 years ago

LGTM! Thanks for contributing, and resolving this issue.

Sayam753 commented 2 years ago

Thanks for the fast response and merging in the PR :)

dhirschfeld commented 2 years ago

Just wanted to check if a release was imminent? If not I might patch the deps on the existing conda package so that it's installable with the latest verions.

patrick-kidger commented 2 years ago

Installing from GitHub is the main option we support at the moment (we do need to put it on PyPI/conda already), so probably no imminent release.

dhirschfeld commented 2 years ago

conda-forge usually prefer to create packages from pypi sdists however it's also possible to create packages from GitHub releases.