-
Notifications
You must be signed in to change notification settings - Fork 21
Replace SCon with modern build tools, rewrite setup.py and add pyproject.toml #36
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
Conversation
... setup.py and add pyproject.toml
thanks so much for this @Tieqiong, very exciting. This failed pre-commit. You will have to update your local from your branch to get the auto-changes and then repush, but better yet, initialize pre-commit on your local so this happens locally when you commit and before the push and all the auto-updates (black, isort etc.,) pass without them any updates being done on GitHub. I wonder why no other tests are running. Is it because this has not been cookiecut? When this is ready to merge I will merge it into cookie. That's super-weird about libdiffpy. Lets see if it passes CI on GitHub which will be a tougher test..... |
@sbillinge I think the pre-commit (and other tests) are not running because this repo haven't been set up for them (it doesn't have .pre-commit-config.yaml and the .github workflows). This should be fixed by cookie cutting. I don't think it's a good idea to bring back the tests and pre-commit here, as it will generate all of the black, flake8, isort, codespell changes which would caused hundreds of modifications... Let's fix them in a separate PR after merging this to a After merging this to a |
Also for the |
Agreed, let's not cookie cut this yet. I can merge this PR into a cookie branch, but without tests running in CI how do we know if we are making progress. What is easiest for you? If I merge this to cookie? |
@sbillinge With the problem about What I would do is to mainly focusing on updating |
@Tieqiong ok, I merged this into cookie. Is there a way to have CI run tests as a next step, without a full cookie cut? |
@sbillinge I think I can make the tests work and bypassing the The problem with |
I see, that's very tricky. Can we separate the arm64 issue from the others and do a release for everything except arm64? then figure out an arm64 solution afterwards? I honestly doubt that anyone is using libdiffpy except as part of diffpy-cmi, so we could include it inside cmi somehow, though this is a pretty big perturbation to everything else just to make it work for arm64, so I would rather not if we can find another way to distribute libdiffpy for arm64. But can we put this off to later? |
Yes, I agree we should as least make it work for windows and linux first then figure out the other things. Additionally, I think it would be beneficial to aim for better clarity and make things easier to maintain and update in the future. |
yes I agree. We have done this for the pure python packages, but the packages containing c seem to always be a bit harder! |
This is tested (with the original unittest) with python3.13 and numpy2.2.1 on Mac. Not sure about the state of pyobjcryst so not currently testing with it. I also tried one of the example codes and it works until pyobjcryst is needed.
One thing I'm confused about is I neither have
libdiffpy
installed in my testing environment nor mentioned it in any of the building files... But srreal still weirdly works@sbillinge also maybe it's better to make a new branch
cookie
and also commit this to the cookie branch