-
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #25 from regro-cf-autotick-bot/rebuild-numpy2-0-1_…
…h738f43 Rebuild for numpy 2.0
- Loading branch information
Showing
32 changed files
with
328 additions
and
130 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
__migrator: | ||
build_number: 1 | ||
kind: version | ||
commit_message: | | ||
Rebuild for numpy 2.0 | ||
TL;DR: The way we build against numpy has changed as of numpy 2.0. This bot | ||
PR has updated the recipe to account for the changes (see below for details). | ||
The numpy 2.0 package itself is currently only available from a special release | ||
channel (`conda-forge/label/numpy_rc`) and will not be available on the main | ||
`conda-forge` channel until the release of numpy 2.0 GA. | ||
The biggest change is that we no longer need to use the oldest available numpy | ||
version at build time in order to support old numpy version at runtime - numpy | ||
will by default use a compatible ABI for the oldest still-supported numpy versions. | ||
Additionally, we no longer need to use `{{ pin_compatible("numpy") }}` as a | ||
run requirement - this has been handled for more than two years now by a | ||
run-export on the numpy package itself. The migrator will therefore remove | ||
any occurrences of this. | ||
However, by default, building against numpy 2.0 will assume that the package | ||
is compatible with numpy 2.0, which is not necessarily the case. You should | ||
check that the upstream package explicitly supports numpy 2.0, otherwise you | ||
need to add a `- numpy <2.0dev0` run requirement until that happens (check numpy | ||
issue 26191 for an overview of the most important packages). | ||
Note that the numpy release candidate promises to be ABI-compatible with the | ||
final 2.0 release. This means that building against 2.0.0rc1 produces packages | ||
that can be published to our main channels. | ||
If you already want to use the numpy 2.0 release candidate yourself, you can do | ||
``` | ||
conda config --add channels conda-forge/label/numpy_rc | ||
``` | ||
or add this channel to your `.condarc` file directly. | ||
### To-Dos: | ||
* [ ] Match run-requirements for numpy (i.e. check upstream `pyproject.toml` or however the project specifies numpy compatibility) | ||
* If upstream is not yet compatible with numpy 2.0, add `numpy <2.0dev0` upper bound under `run:`. | ||
* If upstream is already compatible with numpy 2.0, nothing else should be necessary in most cases. | ||
* If upstream requires a minimum numpy version newer than 1.19, you can add `numpy >=x.y` under `run:`. | ||
* [ ] Remove any remaining occurrences of `{{ pin_compatible("numpy") }}` that the bot may have missed. | ||
PS. If the build does not compile anymore, this is almost certainly a sign that | ||
the upstream project is not yet ready for numpy 2.0; do not close this PR until | ||
a version compatible with numpy 2.0 has been released upstream and on this | ||
feedstock (in the meantime, you can keep the bot from reopening this PR in | ||
case of git conflicts by marking it as a draft). | ||
migration_number: 1 | ||
exclude: | ||
# needs local overrides that get stomped on by the migrator, which then fails | ||
- scipy | ||
# already done, but thinks its unsolvable | ||
- pandas | ||
ordering: | ||
# prefer channels including numpy_rc (otherwise smithy doesn't | ||
# know which of the two values should be taken on merge) | ||
channel_sources: | ||
- conda-forge | ||
- conda-forge/label/numpy_rc,conda-forge | ||
|
||
# needs to match length of zip {python, python_impl, numpy} | ||
# as it is in global CBC in order to override it | ||
numpy: | ||
- 1.22 # no py38 support for numpy 2.0 | ||
- 2.0 | ||
- 2.0 | ||
- 2.0 | ||
- 2.0 | ||
channel_sources: | ||
- conda-forge/label/numpy_rc,conda-forge | ||
migrator_ts: 1713572489.295986 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 9 additions & 3 deletions
12
...x_64_numpy1.22python3.10.____cpython.yaml → ...sx_64_numpy2.0python3.10.____cpython.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.