-
Notifications
You must be signed in to change notification settings - Fork 148
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
JupyterLab 3 update #405
JupyterLab 3 update #405
Conversation
@@ -2,6 +2,7 @@ | |||
.mypy_cache | |||
.pytest_cache | |||
.yarn-packages | |||
**/_*.d.ts |
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.
if these end up in the dist (which they might) we will want them formatted...
Signed-off-by: martinRenou <martin.renou@gmail.com>
Signed-off-by: martinRenou <martin.renou@gmail.com>
binder/postBuild
Outdated
# actually build | ||
jupyter lab build --debug --dev-build=False --minimize=True | ||
# Do a dev install of the server side | ||
pip install . -vv |
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.
Please bring back python -m pip install -e . --ignore-installed --no-deps -vv
... it's not too livehackable, today (vs #278), but would like to maintain that experience.
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.
Sure, I'll bring it back
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.
Although -e
will not install the data_files
, but we need them installed
Signed-off-by: martinRenou <martin.renou@gmail.com>
|
||
chdir('../../../') | ||
|
||
extension_files.append(("etc/jupyter/jupyter_notebook_config.d", ["py_src/jupyter_lsp/etc/jupyter-lsp-serverextension.json"])) |
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.
as has been mentioned elsewhere: maybe we have the structure in-package already looks like the system-of-interest, e.g. etc/
and share/
so the patterns are more concise.
Signed-off-by: martinRenou <martin.renou@gmail.com>
@@ -118,6 +135,7 @@ | |||
] | |||
} | |||
}, | |||
"schemaDir": "schema" | |||
"schemaDir": "schema", | |||
"outputDir": "../../py_src/jupyter_lsp/labextensions/@krassowski/jupyterlab-lsp" |
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.
we need to add checking all of these (and probably other things) to integrity.py
Signed-off-by: martinRenou <martin.renou@gmail.com>
setup.cfg
Outdated
@@ -1,5 +1,5 @@ | |||
[metadata] | |||
name = jupyter-lsp | |||
name = jupyter_lsp |
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.
wut
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.
This makes it importable :) enabling jupyter labextension develop
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.
distributed package name != import name... this is explicitly different because of that. like i mentioned elsewhere, if something in the stack is conflating the two, it needs to be nuked from orbit. If it has to be like this, then that amplifies the need for it to be a standalone package.
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 am totally fine reverting this change, just note that you won't be able to use jupyter labextension develop
.
then that amplifies the need for it to be a standalone package
Yes, although I wanted to keep this PR simple for now and not make another package.
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.
See also jupyterlab/jupyterlab#9576
Signed-off-by: martinRenou <martin.renou@gmail.com>
Signed-off-by: martinRenou <martin.renou@gmail.com>
Pretty sure we discussed this, but think we might want to have a dependency tree like:
Motivation: we have been trying really hard to make the contract between the frontend and backend packages "regular" (e.g. schema-constrained). If the frontend starts getting shipped with the backend, this would become less formal, and downstreams that wish to extend the functionality would be at a disadvantage, and more likely to fork. Further, if we split out and version individual features in the future, We'll do a major version bump for |
Signed-off-by: martinRenou <martin.renou@gmail.com>
Signed-off-by: martinRenou <martin.renou@gmail.com>
Signed-off-by: martinRenou <martin.renou@gmail.com>
Not sure I understand the tree structure you are drawing here. But I guess you are mentioning to make a separate Python package for the labextension? It might be indeed nicer. Although I didn't want this PR to drastically change the code structure. The PR works now. You should get it to work with:
Please don't hesitate to push to my branch if you want to change/polish some things. |
Yeah, data_files (however it's wrapped) is gross, for _precisely_ this
reason. Would running "labextension develop" do the thing?
I'll be digging into what is happening with labextension develop, but for
reference, I use postBuild as part of my local workflow, to ensure it keeps
working without building on binder... So I'm very motivated to have binder
end up with a ready-to-debug environment for someone's pr... We should
probably have a separate branch for binder that's made of our up-to-version
info without any development junk (but still node, gah), but that, too, is
for another day...
|
Yes, it should. |
Welp, we need to make a new branch for you to target, in the first place...
We have users on lab 2 will need to support for the foreseeable future.
But have no fear of making drastic changes if they make sense for (roughly
in order):
- end users
- volunteer maintainer
- first time contributors
- downstream developers
- jupyterhub administrators
- downstream package maintainers
Regarding the volunteer bit: it'll probably be tomorrow before I can get
back on this!
|
Nice work! Looking forward to seeing this in lab3 :) As per comments in #411 maybe this PR can update the docs to use node 12+ required to dev for lab3. If the suggestions are valid, let me know if you need any help then I can create a PR for your branch :) |
Thanks for the suggestions. Yes, don't hesitate to open a PR to my branch :) |
This seems close to coming home... @krassowski et al: how do we want to handle landing this? Two options:
As there is still no firm release date for lab 3, i'm favoring the former, but it's kinda all the same 🤷 Also as this is going to be turbulent, we might want to investigate looking into the more complicated RTD setup which gives us versioned releases. |
Docs and dependencies version update
As pointed out by @karlaspuldaro only the readthedocs build is triggered on the CI. Any idea why Github actions is not triggered here? Maybe it's because of the draft status, I will change this |
I will need to rebase and resolve conflicts |
Yes, I think it was the draft status, but if CI does not trigger with the next push let me know and I will investigate further. I will look into branching/catching up with releases later on Wednesday. |
🎉 Thanks a lot! |
This is the quick path to get this working with JupyterLab 3, not finished yet. I still need to make jupyterlab-lsp a federated labextension.