Skip to content

Add reproject#4950

Merged
IsabelParedes merged 3 commits intoemscripten-forge:mainfrom
astrofrog:add-reproject
Feb 27, 2026
Merged

Add reproject#4950
IsabelParedes merged 3 commits intoemscripten-forge:mainfrom
astrofrog:add-reproject

Conversation

@astrofrog
Copy link
Copy Markdown
Contributor

@astrofrog astrofrog commented Feb 24, 2026

Checklist for adding a package

Pre-submission Checks

  • Package requires building for emscripten-wasm32 platform (not a noarch package), in other words, the package requires compilation.

Recipe Structure

Added recipes/recipes_emscripten/[package-name]/recipe.yaml with proper structure:

  • context section with version (and optionally name)
  • package section with name and version using Jinja2 templates
  • source section with:
    • Source URL is valid and points to archive file (.tar.gz, .tar.bz2, .tar.xz, .tgz, or .zip)
    • Source URL contains ${{ version }} template for version updates
    • SHA256 hash is correct (verified with curl -sL <url> | sha256sum)
    • Patches (if any) are included in [package-name]/patches/ directory
  • build section with appropriate script/method
    • Python packages: ${PYTHON} -m pip install . ${PIP_ARGS}
    • R packages: $R CMD INSTALL $R_ARGS .
    • C++ packages: Uses emcmake/emmake or emconfigure/emmake
    • Rust packages: Uses rust-nightly and maturin or appropriate Rust build tool
    • Build number is 0
    • If the script is longer than 3 lines, a build.sh is included
  • requirements section (build, host, run as needed)
  • tests section
    • Python packages: test_import_[package].py file created and referenced
    • C++ packages: Test executable or package_contents test
    • R packages: Package contents test
  • about section with license, homepage, summary

PR Formatting

  • PR title follows format: Add [package-name] or Update [package-name] to [version]
  • PR description includes:
    • Version being added/updated
    • Any special build considerations or patches applied

Package Details

  • Package Name: reproject
  • Version: 0.19.0

Build Notes

Depends on #4946

@astrofrog astrofrog changed the title Added recipe for reproject Add reproject Feb 24, 2026
@astrofrog
Copy link
Copy Markdown
Contributor Author

This is not yet ready for review

@IsabelParedes
Copy link
Copy Markdown
Member

I realized this is still a draft after pressing the button to update. My apologies 🙏 I'll let you do your work.

@astrofrog astrofrog force-pushed the add-reproject branch 2 times, most recently from 2d9ba7c to e2a3cbe Compare February 26, 2026 17:30
@astrofrog
Copy link
Copy Markdown
Contributor Author

@IsabelParedes - this is now blocked due to #4948 - what do you think would be the cleanest way to resolve that issue?

@astrofrog astrofrog marked this pull request as ready for review February 26, 2026 21:27
@astrofrog
Copy link
Copy Markdown
Contributor Author

dask-image depends currently on distributed which has dependencies that can't be installed on WebAssembly - I will try and see if I can help get the conda-forge for dask-image to not depend on distributed, but at the moment the easiest is to patch reproject to not rely on dask-image (which doesn't impact functionality much)

@IsabelParedes - this recipe is now ready to review!

Copy link
Copy Markdown
Member

@IsabelParedes IsabelParedes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@IsabelParedes IsabelParedes merged commit 59649ab into emscripten-forge:main Feb 27, 2026
2 checks passed
@astrofrog
Copy link
Copy Markdown
Contributor Author

@IsabelParedes - thanks! When I try and use this package on notebook.link with:

name: xeus-python-kernel
channels:
  - https://prefix.dev/emscripten-forge-4x 
  - conda-forge
dependencies:
  - xeus-python
  - numpy
  - reproject

I run into the following issue:



[11:29:03]: mambajs 0.20.3
[11:29:03]: 
[11:29:03]: Solving environment...
[11:29:04]: Cannot solve the request because of: reproject * cannot be installed because there are no viable options:
└─ reproject 0.19.0 would require
   └─ dask-core >=2024.4.1, which cannot be installed because there are no viable options:
      └─ dask-core 2024.4.1 | 2024.4.2 | 2024.5.0 | 2024.5.1 | 2024.5.2 | 2024.6.0 | 2024.6.1 | 2024.6.2 | 2024.7.0 | 2024.7.1 | 2024.8.0 | 2024.8.1 | 2024.8.2 | 2024.9.0 | 2024.9.1 | 2024.10.0 | 2024.11.0 | 2024.11.1 | 2024.11.2 | 2024.11.2 | 2024.12.0 | 2024.12.1 | 2025.1.0 | 2025.2.0 | 2025.3.0 | 2025.3.1 | 2025.4.0 | 2025.4.1 | 2025.5.0 | 2025.5.1 | 2025.5.1 | 2025.7.0 | 2025.9.0 | 2025.9.1 | 2025.9.2 | 2025.10.0 | 2025.11.0 | 2025.12.0 | 2025.12.0 | 2026.1.0 | 2026.1.1 | 2026.1.2 would require
         └─ click >=8.1, which cannot be installed because there are no viable options:
            └─ click 8.1.3 | 8.1.3 | 8.1.4 | 8.1.4 | 8.1.5 | 8.1.5 | 8.1.6 | 8.1.6 | 8.1.7 | 8.1.7 | 8.1.7 | 8.1.7 | 8.1.8 | 8.1.8 | 8.2.0 | 8.2.0 | 8.2.1 | 8.2.1 | 8.3.0 | 8.3.0 | 8.3.1 | 8.3.1 | 8.3.1 | 8.3.1 would require
               └─ __unix *, for which no candidates were found.
[11:29:04]: 
[11:29:04]: Need help creating your environment?
[11:29:04]:  - Check-out the documentation: https://notebook.link/docs/user-guide/create-a-new-environment#custom-environment
[11:29:04]:  - Can’t find your solution? Contact us: https://notebook.link/docs/support

I'm curious why this would happen since it worked fine here? Do you have any ideas? (also cc-ing @martinRenou)

@martinRenou
Copy link
Copy Markdown
Member

__unix is a virtual package that older version of mambajs did not include. It was working on emscripten-forge 3x because there was a fake __unix package published there. But it's a nasty workaround that we want to stay away from in the long term.

I fixed mambajs last week emscripten-forge/mambajs#201. It's released, but notebook.link is not yet using that version of mambajs. I'm on my way to update that.

@martinRenou
Copy link
Copy Markdown
Member

As a workaround for now, you can have this environment:

name: xeus-python-kernel
channels:
  - https://prefix.dev/emscripten-forge-4x 
  - https://prefix.dev/emscripten-forge-3x 
  - conda-forge
dependencies:
  - xeus-python
  - numpy
  - reproject

This will pull __unix from the emscripten-forge 3x channel

@astrofrog
Copy link
Copy Markdown
Contributor Author

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants