-
-
Notifications
You must be signed in to change notification settings - Fork 553
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
Add support for pyproject.toml
#3301
Add support for pyproject.toml
#3301
Conversation
So far unit and integration tests passed for both Windows and macOS but |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #3301 +/- ##
========================================
Coverage 99.58% 99.58%
========================================
Files 256 256
Lines 20119 20119
========================================
Hits 20036 20036
Misses 83 83 ☔ View full report in Codecov by Sentry. |
…bject cannot be found" This reverts commit 2561a6e.
The v23.9 branch will be merged into main to create the final release. Merging PRs in develop will not affect the final release in any way. Any bug/security fix that is required in the final release should be merged into develop (like other PRs) and then cherry-picked to the release branch (
Yes, that sounds like a feature. It would be better to include that in the next release! |
Makes sense, thanks for the explanation! |
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've tested wheels for amd64 Linux (WSL) and amd64 (Windows), they're being installed nicely. I've verified the solvers too by pybamm.have_idaklu()
and all and also ran unit tests locally.
Overall tests are running as expected & those with solver dependencies are being skipped.
@agriyakhetarpal could you merge develop? I was waiting for the release, but now that it is out, we should merge this as soon as possible |
Done. Since I am targeting some installation issues, improvements, and documentation in the coming time—it should be fine to merge once @kratman can review (a gentle reminder!)—I can add a minimal test to check for the IDAKLU solver during the |
I have disabled the wheel building on PRs like it always was and have triggered a final run on my fork, here is the link: https://github.com/agriyakhetarpal/PyBaMM/actions/runs/6935629522 |
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.
Minor fix for the version.
Nox installs/text/examples work on my Apple M2. I will download the wheels and test them as well.
Co-authored-by: Eric G. Kratz <[email protected]>
@arjxn-py has previously tested ans confirmed on WSL and Windows (amd64). We don't have arm64 wheels yet, so another test on a native Linux machine should be great and would suffice for the most part |
I am testing Linux Mint with x86_64 right now. Should be able to let you know if it works in a couple minutes |
Works on my Linux machine |
Merging this, I hope everything works fine! |
So glad to see the purple UI elements now, thanks a ton to everyone who helped me out! |
Description
There are a few nice-to-haves and caveats to this migration to
pyproject.toml
:setup.py
file cannot be removed completely due to its flexibility with custom wheel build processes and steps to build extension modules, so this is more of an addition/conjugation withsetuptools.build_meta
rather than a complete migration—the latter is not possible without the inclusion of a new build-backend such asmeson-build
orscikit-build-core
. Note: thescikit-build-core
's support for editable installations is not mature and might break things, andscikit-build
is the predecessor to it with limited support for editable installations, which is a deal-breaker.pyproject.toml
, which simplifies thesetuptools.setup()
command. The CMakeBuild.py script is directly included insidesetup.py
to expose the linking of the IDAKLU extension and usage of the CMake arguments.A list of tasks:
pip
is able to build non-editable wheelsFixes #3049 and supersedes #3053
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.
Key checklist:
$ pre-commit run
(or$ nox -s pre-commit
) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)$ python run-tests.py --all
(or$ nox -s tests
)$ python run-tests.py --doctest
(or$ nox -s doctests
)You can run integration tests, unit tests, and doctests together at once, using
$ python run-tests.py --quick
(or$ nox -s quick
).Further checks: