-
Notifications
You must be signed in to change notification settings - Fork 160
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
Update to Jupyterlab 3.0 #551
Conversation
Also includes major version update
@vidartf I just updated this and tested that it works with rc13. Is there any way we could merge this as is and release an rc? That would allow for easier review and editing of jupyterlab/jupyterlab-git#818 which depends on this update. |
@ajbozarth Thanks for this. A few questions:
|
Thanks for reminding me of this, it was unintentional, I was unable to get the notebook extension working on 3.0 so I just updated it to a server extension to fix it. @Zsailer is there a way to support both at once? if not I'll try to roll this back and continue to debug why the notebook extension isn't working on 3.0
This is intentional my part, as I mentioned in a dev meeting I'm focusing on updating extensions first to work on 3.0 "as is" for a quick turn-around release to unblock downstream dependencies then follow up later with any updates to to the new pre-build extensions |
Yup, you can get an extension to work both in classic notebook and jupyter_server. These docs should be helpful in Jupyter Server. |
As a side note, I tested nbdime against jupyter_server + classic notebook here: https://github.com/Zsailer/jpserver-extension-check nbdime should work as-is thanks to nbclassic (though it's not a bad idea to update things). |
@Zsailer thank you, I'll follow up on this later today |
I've pushed an update that should reenable the notebook server extension for nbclassic, but as far as I can tell only the jupyter server extension works with 3.0 @Zsailer that link to the check you shared only checks if the extension is successfully installed, which it is. What I'm seeing when I only install the |
@ajbozarth / @Zsailer Any news on the server extension parts? Please note that there are unittests for the server extensions that are all failing right now. |
We figured out the build issues and I'm updating the docs now. I'll take a look at the tests this afternoon once I finish the docs. |
Sorry this stalled, I have wip doc and tests for this ready as of late last Friday but haven't had time to finish it up since my holiday vacation started. I'm hoping to take a hour or so sometime when I have a chance to get those updates finished and pushed. Should find time before New Years, hopefully before Christmas. |
As noted in #552 (comment), we will also need to figure out how to get MathJax onto the page for typsetting equations, as it will no longer be available via the notebook package. |
I am back from holiday and working on this again, I should have new updates pushed by EOD |
@vidartf This is ready to merge for a rc release. We still need to figure out what's causing the CI failure, but the tests only seem to fail on CI and not locally. Since this is blocking development of jupyterlab/jupyterlab-git#818 it would be better to merge, cut the rc, then address the tests in a follow up PR prior to a final release. |
I'm getting failures locally as well: file <repo root>\nbdime\tests\test_jupyter_server_extension.py, line 55
@pytest.mark.timeout(timeout=WEB_TEST_TIMEOUT)
async def test_isgit(git_repo2, jp_fetch):
r = await jp_fetch(
'nbdime/api/isgit',
method='POST',
body=json.dumps({
'path': git_repo2,
})
)
code, body = read_response(r)
assert body == {'is_git': True}
file <env root>\lib\site-packages\jupyter_server\pytest_plugin.py, line 324
@pytest.fixture
def jp_fetch(jp_serverapp, http_server_client, jp_auth_header, jp_base_url):
file <env root>\lib\site-packages\jupyter_server\pytest_plugin.py, line 291
@pytest.fixture(scope="function")
def jp_serverapp(
file <env root>\lib\site-packages\jupyter_server\pytest_plugin.py, line 199
@pytest.fixture(scope='function')
def jp_configurable_serverapp(
file <env root>\lib\site-packages\jupyter_server\pytest_plugin.py, line 173
@pytest.fixture
def jp_http_port(http_server_port):
E fixture 'http_server_port' not found Seems to be an issue with the |
It seems that jupyter-server's dependency |
I've pushed a commit that fixes the tests. There is currently only a single test failing, the "offline mathjax" test when used as an extension for jupyter server. I'm currently planning to create a separate jupyter server extension that will expose these resources, and have nbdime depend on this. I'll try to do a final review on this PR, merge and do a pre-release this week, and then open a separate issue/PR to resolve the MathJax issue as a blocker for a final release. |
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.
Most looks good now, thanks for the effort! 👍 I have some minor points for input below, but nothing that should be a lot of work.
@vidartf do you think we're close to merging this and cutting an rc? It would help enable review of the down stream git-extension PR |
I'm working on fixing the JS tests, but if I can't fix them by EOD tomorrow, I'll try to just release an RC as-is. |
Turns out the new nbformat release also breaks CI (cf #553 ), but I'll cut a beta. |
I've done beta releases base off of c823623 |
Do we have a timeline on a final release of 3.0? |
Updates dependancies to Jupyterlab 3.0 rc6 and preemptively increments a major version to allow for testing with jupyterlab-git extension, sister PR at jupyterlab/jupyterlab-git#818
Marked as draft until 3.0 release when this PR will be updated.