jupyterlab / jupyterlab_pygments

Pygments theme making use of JupyterLab CSS variables
BSD 3-Clause "New" or "Revised" License
39 stars 30 forks source link

issue with bootstrapping `jupyterlab-pygments`🤔 #40

Closed kloczek closed 5 months ago

kloczek commented 5 months ago

I'm packaging many python modules as rpm packages. Recently I've moved from python 3.8 to 3.9 and now I have problem with jupyterlab-pygments and nbconvert build and install time dependencies.

To build jupyterlab-pygments it is necessary to have jlpm command which is part of jupyterlab which requires nbconvert which requires to install jupyterlab-pygments. There is no any issues with building jupyterlab and nbconvert however to install nbconvert I must install first jupyterlab-pygments .. loop closed 😞

Q: how can I bootstrap jupyterlab-pygments in that context? 🤔

krassowski commented 5 months ago

Yes, this bitten us before in jupyterlab. The answer is that there is an ongoing work to extract the build tools out of jupyterlab itself (https://github.com/jupyterlab/jupyterlab/issues/13456). There is a fresh repo which is planned to hold this new package here: https://github.com/jupyterlab/jupyterlab-builder.

Also, this is a duplicate of https://github.com/jupyterlab/jupyterlab_pygments/issues/23

kloczek commented 5 months ago

OK. May I ask when first version of jupyterlab-builder will be released? 🤔 I'm asking because I still have some number of modules to clean on that 3.8->3.9 migration and and it would be good to know how much time I have 😋

I'll close this ticket and subscribe to #23 Thank you.

kloczek commented 3 months ago

I've tested building jupyterlab-pygments with installing all dependencies from pypi and despite that pep517 build still fails reporting missing dependencies

+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...

ERROR Missing dependencies:
        jupyterlab<5,>=4.0.0
        jupyterlab-server<3,>=2.27.1 -> jupyter-server<3,>=1.21 -> nbconvert>=6.4.4 -> jupyterlab-pygments
        jupyterlab<5,>=4.0.0
        notebook-shim>=0.2 -> jupyter-server<3,>=1.8 -> nbconvert>=6.4.4 -> jupyterlab-pygments
        jupyterlab<5,>=4.0.0
        jupyter-server<3,>=2.4.0 -> nbconvert>=6.4.4 -> jupyterlab-pygments
        jupyterlab<5,>=4.0.0
        jupyter-lsp>=2.0.0 -> jupyter-server>=1.1.2 -> nbconvert>=6.4.4 -> jupyterlab-pygments

Here is pip list output:

Package                       Version
----------------------------- --------------
alabaster                     0.7.16
anyascii                      0.3.2
anyio                         4.3.0
apeye                         1.4.1
apeye-core                    1.1.4
argon2-cffi                   23.1.0
argon2-cffi-bindings          21.2.0
arrow                         1.3.0
astroid                       3.2.2
asttokens                     2.4.1
async-lru                     2.0.4
attrs                         23.2.0
autodocsumm                   0.2.12
Babel                         2.15.0
beautifulsoup4                4.12.3
bleach                        6.1.0
build                         1.2.1
CacheControl                  0.14.0
certifi                       2024.2.2
cffi                          1.16.0
charset-normalizer            3.3.2
click                         8.1.7
coincidence                   0.6.6
comm                          0.2.2
consolekit                    1.7.0
cssutils                      2.10.2
debugpy                       1.8.1
decorator                     5.1.1
default-values                0.6.0
defusedxml                    0.7.1
deprecation                   2.1.0
deprecation-alias             0.3.2
dict2css                      0.3.0.post1
dist-meta                     0.8.0
distro                        1.9.0
dnf                           4.20.0
docutils                      0.20.1
dom_toml                      1.0.0
domdf_python_tools            3.8.0.post2
exceptiongroup                1.2.1
executing                     2.0.1
extras-require                0.5.0
fastjsonschema                2.19.1
filelock                      3.14.0
flexmock                      0.12.1
flit_core                     3.9.0
fqdn                          1.5.1
gi-docgen                     2024.1
gpg                           1.23.2
h11                           0.14.0
handy-archives                0.2.0
hatch-jupyter-builder         0.9.0
hatch-nodejs-version          0.3.2
hatchling                     1.24.2
html-section                  0.3.0
html5lib                      1.1
httpcore                      1.0.5
httpx                         0.27.0
idna                          3.7
imagesize                     1.4.1
importlib_metadata            7.1.0
iniconfig                     2.0.0
installer                     0.7.0
ipykernel                     6.29.4
ipython                       8.24.0
isoduration                   20.11.0
jedi                          0.19.1
Jinja2                        3.1.4
json5                         0.9.25
jsonpointer                   2.4
jsonschema                    4.22.0
jsonschema-specifications     2023.12.1
jupyter_client                8.6.2
jupyter_core                  5.7.2
jupyter-events                0.10.0
jupyter-lsp                   2.2.5
jupyter_server                2.14.0
jupyter_server_terminals      0.5.3
jupyterlab                    4.2.1
jupyterlab_pygments           0.3.0
jupyterlab_server             2.27.2
libdnf                        0.73.1
Mako                          1.3.5.dev0
Markdown                      3.6
markdown-it-py                3.0.0
MarkupSafe                    2.1.5
matplotlib-inline             0.1.7
mdit-py-plugins               0.4.1
mdurl                         0.1.2
meson                         1.4.0
mistletoe                     1.3.0
mistune                       3.0.2
msgpack                       1.0.8
myst-parser                   3.0.1
natsort                       8.4.0
nbclient                      0.10.0
nbconvert                     7.16.4
nbformat                      5.10.4
nest-asyncio                  1.6.0
notebook_shim                 0.2.4
overrides                     7.7.0
packaging                     24.0
pandocfilters                 1.5.1
parso                         0.8.4
pathspec                      0.12.1
pexpect                       4.9.0
pip                           24.0
platformdirs                  4.2.2
pluggy                        1.5.0
ply                           3.11
prometheus_client             0.20.0
prompt-toolkit                3.0.43
psutil                        5.9.8
ptyprocess                    0.7.0
pure-eval                     0.2.2
pychoosealicense              2023.11.20
pycparser                     2.22
Pygments                      2.18.0
pypi-json                     0.4.0
pyproject_hooks               1.0.0
pyproject-parser              0.9.1
pytest                        8.2.1
pytest-datadir                1.5.0
pytest-regressions            2.5.0
pytest-timeout                2.3.1
python-dateutil               2.9.0.post0
python-frontmatter            1.1.0
python-json-logger            2.0.7
pyupgrade                     3.15.2
PyYAML                        6.0.1
pyzmq                         26.0.3
referencing                   0.35.1
requests                      2.32.2
rfc3339-validator             0.1.4
rfc3986-validator             0.1.1
rpds-py                       0.18.1
rpm                           4.19.1.1
ruamel.yaml                   0.18.5
ruamel.yaml.clib              0.2.8
ruff                          0.4.4
seed-intersphinx-mapping      1.2.2
Send2Trash                    1.8.3
setuptools                    69.4.0
setuptools-scm                8.1.0
setuptools_scm_git_archive    1.4
shippinglabel                 1.7.2
six                           1.16.0
smartypants                   2.0.1
sniffio                       1.3.1
snowballstemmer               2.2.0
soupsieve                     2.5
Sphinx                        7.3.7
sphinx-autodoc-typehints      2.1.0
sphinx-copybutton             0.5.2
sphinx-debuginfo              0.2.2.post1
sphinx_design                 0.5.0
sphinx-jinja2-compat          0.2.0.post1
sphinx-licenseinfo            0.4.0
sphinx-notfound-page          1.0.2
sphinx-prompt                 1.6.0
sphinx-pyproject              0.3.0
sphinx_rtd_theme              2.0.0
sphinx-tabs                   3.4.5
sphinx-toolbox                3.5.0
sphinxcontrib-applehelp       1.0.8
sphinxcontrib-devhelp         1.0.6
sphinxcontrib-htmlhelp        2.0.5
sphinxcontrib-jquery          4.1
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.7
sphinxcontrib-serializinghtml 1.1.10
sphinxemoji                   0.2.0
stack-data                    0.6.3
tabulate                      0.9.0
terminado                     0.18.1
tinycss2                      1.3.0
tokenize_rt                   5.2.0
toml                          0.10.2
tomli                         2.0.1
tornado                       6.4
traitlets                     5.14.3
trove-classifiers             2024.5.24
typeguard                     4.2.1
types-python-dateutil         2.9.0.20240316
typing_extensions             4.12.0
typogrify                     2.0.7
Unidecode                     1.3.8
uri-template                  1.3.0
urllib3                       2.2.1
wcwidth                       0.2.13
webcolors                     1.13
webencodings                  0.5.1
websocket-client              1.8.0
wheel                         0.43.0
whey                          0.0.26
yargs                         0.8.1
zipp                          3.18.2