-
Notifications
You must be signed in to change notification settings - Fork 44
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
Move dependencies to pyproject toml and create ci/cd install and import test #37
Move dependencies to pyproject toml and create ci/cd install and import test #37
Conversation
I will copy here my motivation for allow using of For someone not using
I like using a package manager like pdm (other options are pipenv, poetry, uv) because it makes the development process easier by 1) automatically updating package versions in So with
|
…/deps-in-pyproject-toml
Cool. Yes I think you're right. I would imagine @sadamov, @SimonKamuk and @khintz are happy with this too. If I don't hear any complaints I will change that this morning and update the PR (README and pyproject.toml) I will take that is your review so far @joeloskarsson 😀 |
I have looked over all the changes and I think it looks good. Want to do a full install on my end and see that everything works, but will wait with that until you've made that final change. I have not looked in detail on any of the github workflows, as I don't know that stuff so well. But I trust others to go over that. Does this go in before or after #32 ? |
Great, thanks!
After I would say. The other PR is about moving files around to make neural-lam into a package. Once we've done that I can make sure that package installs and runs correctly for both cpu and gpu support by adding the changes in this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking great! Thanks, really also for the work on the github runners which must have been quite a hassle to set up 🚀
I have tried installation with pdm (4m30s) and pip (6m54s) (latest torch version) on my HPC system running CUDA 12.0 and can report that for both envs neuralLAM-training was successful. Tested both on cpu and gpu.
After capping the numpy version this can be merged, from my side. I trust that the --dev
install will work after the change discussed above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change the numpy version spec and the dev group name, then this is all good to go!
Something I realized, that's really good, is that we don't actually need any of the optional PyG dependencies atm. So this getting rid of them is great, and also leads to less complications with torch CPU/CUDA versions. We can just re-introduce them later if some will be needed.
Ok @sadamov and @joeloskarsson, I've moved the dev dependencies to the optional dependency groups and updated the ci/cd setups and README to reflect the change. If you have time for a last quick look then I think this is ready to go in! |
|
Ah! Sorry, that was an oversight. I had somehow convinced myself we now did support |
Ok, I fixed that issue now @joeloskarsson |
Oh no, sorry for the confusion. We want to remove the cap to <2.0 here, just make it clear that we do that. The code works with numpy 2, see #67 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I installed the dev envs with both pip and pdm now, it works!
One model training was also succesful with new envs.
I agree to remove the numpy cap and mention it in the changelog of this PR.
Happy merging 🎉
Ah I see! Ok, so I will include a note in the CHANGELOG to say that we removed the cap to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! Now everything looks good to me.
The aim of this PR is to move dependencies from
requirements.txt
topyproject.toml
(as has been proposed forv0.2.0
on the roadmap) and discussed on #27 (comment).Requirements:
pip
andpyproject.toml
can be updated by handneural-lam
to ensure that the required packages have correctly been installed.