Skip to content
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

Allow semver-compatible frontend versions #521

Merged
merged 6 commits into from
May 12, 2024

Conversation

kylebarron
Copy link
Contributor

@kylebarron kylebarron commented Apr 2, 2024

In relation to the discussion about JupyterHub in #385, I've suggested to a few of my users to install anywidget on the server, then install lonboard in the client environment. Lonboard does not pin a version of anywidget, so when a new anywidget version is released, the next install of lonboard will break because the client anywidget version does not exactly match the server anywidget version.

I have reason to believe that using "~major.minor.*" works, because pydeck has been doing that for its frontend code for a while, to allow the Python code and JS bindings to be versioned separately (see 1, 2, 3).

That said, I haven't yet tested this in a JupyterHub environment. (I haven't tried to set up the development environment yet)

Copy link

changeset-bot bot commented Apr 2, 2024

🦋 Changeset detected

Latest commit: b7d0a7e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
anywidget Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@kylebarron kylebarron changed the title WIP: Allow semver-compatible frontend versions Allow semver-compatible frontend versions Apr 2, 2024
@manzt
Copy link
Owner

manzt commented May 10, 2024

Hey, just wanted to check in on this. I notice the PR is still in a Draft state. I should have some time to push it forward if that is ok with you. Thanks!

@kylebarron
Copy link
Contributor Author

kylebarron commented May 10, 2024

I only set it as "draft" because I hadn't figured out how to test it yet. But it "looks" valid based on what pydeck was using

Let me know if I can help at all

@manzt
Copy link
Owner

manzt commented May 10, 2024

Ah, sorry for the misunderstanding. I thought it wasn't ready for review. I'll have a look and get back to you :) thanks for the contribution!

Copy link

codecov bot commented May 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.21%. Comparing base (12ca2f8) to head (b7d0a7e).
Report is 129 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #521      +/-   ##
==========================================
- Coverage   98.45%   97.21%   -1.25%     
==========================================
  Files           8        8              
  Lines         452      502      +50     
==========================================
+ Hits          445      488      +43     
- Misses          7       14       +7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@manzt manzt marked this pull request as ready for review May 12, 2024 15:18
@manzt
Copy link
Owner

manzt commented May 12, 2024

Ok, I tried this out in a few different environments (Lab, standalone HTML, Colab) and things seem to be working. The various CDN importers seem to resolve the version specifier correctly, which would be the main thing I would worry about.

I think this should be seen as a temporary fix. We should ideally separately version the anywidget frontend in the future, or figure out a way to bypass this strictness from JupyterLab all together. But in the meantime, this is great. Thank you!

@manzt manzt merged commit b17ad4b into manzt:main May 12, 2024
12 of 13 checks passed
@github-actions github-actions bot mentioned this pull request May 12, 2024
@kylebarron
Copy link
Contributor Author

awesome 🙌

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.

2 participants