Package Details: jupyterhub 2.3.1-1

Git Clone URL: https://aur.archlinux.org/jupyterhub.git (read-only, click to copy)
Package Base: jupyterhub
Description: Multi-user server for Jupyter notebooks
Upstream URL: https://jupyter.org/hub
Licenses: BSD
Submitter: xantares
Maintainer: bcb
Last Packager: bcb
Votes: 9
Popularity: 0.57
First Submitted: 2015-03-12 14:00 (UTC)
Last Updated: 2022-07-17 16:39 (UTC)

Pinned Comments

bcb commented on 2021-12-05 16:27 (UTC)

Note that version upgrades may require you to upgrade the database before the new version will start. Always check the documentation, in particular the changelog before upgrading.

Latest Comments

FirstAirBender commented on 2022-04-20 20:28 (UTC) (edited on 2022-04-20 20:29 (UTC) by FirstAirBender)

Tests are failing for jupyterhub/tests/test_singleuser.py::test_singleuser_auth.

The error I get is: requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://127.0.0.1:50879/@/space%20word/user/nandy/tree

bcb commented on 2022-02-18 18:07 (UTC)

@leuko -- I've made that change in the latest version, thanks for reporting it.

leuko commented on 2022-01-22 16:28 (UTC) (edited on 2022-01-22 16:40 (UTC) by leuko)

Got an error during compilation:

...
[C 2022-01-22 16:22:58.736 JupyterHub application:91] The 'answer_yes' trait of a JupyterHub instance must be a boolean, but a value of 'true' <class 'str'> was specified.
...

Can be fixed by replacing -y=true with -y True

I still get two errors during tests, but I will look at them later.

Thanks for this wonderful package bcb!

ixil commented on 2021-12-21 16:12 (UTC)

thanks for the tip @tinux - comm -12 <(pactree -u jupyterhub | sort ) <(pacman -Slq aur | sort) where 'aur' is my local repository of built aur packages returned: nodejs-configurable-http-proxy python-certipy python-jupyter_telemetry python_pamela

Rebuilding those got me through!

bcb commented on 2021-12-21 13:27 (UTC)

pacman -Qo /usr/lib/python3.9 will give you the names of packages with files still in the old Python directory.

For future reference, packages in depends are also installed for the build, so adding python-jupyter_telemetry to makedepends would be redundant when it is already in depends.

tinux commented on 2021-12-21 13:16 (UTC)

Sorry on phone here...

I got this to work. You need to recompile required AUR packages because of the change to python-3.10. I don't remember which though, but it's easy to find out (on a computer).

ixil commented on 2021-12-21 13:13 (UTC)

building this in a clean chroot I'm getting missing jupyter_telemetry - adding it to the makedepends didn't help. I'll dig a little deeper

creating build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/19c0846f6344_base_revision_for_0_5.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/1cebaf56856c_session_id.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/3ec6993fe20c_encrypted_auth_state.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/4dc2d5a8c53c_user_options.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/56cc5a70207e_token_tracking.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/833da8570507_rbac.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/896818069c98_token_expires.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/99a28a4418e1_user_created.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/af4cbdb2d13c_services.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/d68c98b66cd4_client_description.py -> build/lib/jupyterhub/alembic/versions
copying jupyterhub/alembic/versions/eeb276e51423_auth_state.py -> build/lib/jupyterhub/alembic/versions
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/build/jupyterhub/src/jupyterhub-2.0.0/build/lib/jupyterhub/__main__.py", line 1, in <module>
    from .app import main
  File "/build/jupyterhub/src/jupyterhub-2.0.0/build/lib/jupyterhub/app.py", line 74, in <module>
    from jupyter_telemetry.eventlog import EventLog
ModuleNotFoundError: No module named 'jupyter_telemetry'
==> ERROR: A failure occurred in build().

bcb commented on 2021-12-05 16:27 (UTC)

Note that version upgrades may require you to upgrade the database before the new version will start. Always check the documentation, in particular the changelog before upgrading.

bcb commented on 2021-12-05 16:25 (UTC)

I have just updated the package to 2.0.0. I have included a patch which changes some of the tests to use random ports so they will not fail if you already have a JupyterHub server running. A handful of tests are disabled because they are not compatible with this patch or I couldn't find a way to make them work with random port numbers. When I get time I will try to work with upstream to get the tests modified properly for this.

Ta180m commented on 2021-12-03 18:11 (UTC)

This package is already marked out of date, but FYI, 2.0.0 is now out too: https://github.com/jupyterhub/jupyterhub/releases/tag/2.0.0

leuko commented on 2021-05-02 19:28 (UTC)

found the source :D

My Jupyterhub instance was already running on port 8000, so most of the tests failed. Maybe a short warning could be useful, what do you think @bcb?

leuko commented on 2021-05-02 19:21 (UTC)

Thank you for testing out @bcb! I just tried on another machine, and it works.

On my server somehow most of the tests fail, but makepkg --nocheck works. I will compare the build logs then. You do not have to wait for me, thanks :J

bcb commented on 2021-05-02 09:46 (UTC)

@leuko: The tests (including the one you mentioned) pass on two different machines for me, including in a clean chroot with just the package dependencies. It could be an interaction with another package you have installed I guess. Does jupyterhub run if you skip the checks (makepkg --nocheck)? Can you you upload the full build log from one of these failures to a pastebin and post the link here?

And thanks for pointing out the pycurl optional dependency. I'll add it to the PKGBUILD -- I'll wait a little while before I upload a new PKGBUILD in case we can figure out something for the check failures in the same upload.

leuko commented on 2021-04-28 05:24 (UTC)

I get a lot of errors during check(), e.g.,

jupyterhub/tests/test_proxy.py::test_add_get_delete[host.name/path/] ERROR

and many tornado.httpclient.HTTPClientError: HTTP 403 errors. Does someone else have this problem?

leuko commented on 2021-04-28 05:20 (UTC)

python-pycurl seems to be an optional dependency

bcb commented on 2021-04-26 17:35 (UTC)

@lonaowna glad it wasn't too hard to solve. I've started a wiki page at https://wiki.archlinux.org/index.php/JupyterHub and have added some details about file permissions to the section on the PAM authenticator.

lonaowna commented on 2021-04-26 16:15 (UTC)

@bcb spot on! Turns out my /etc/shadow had permissions 000 instead of 600. No idea how that happened. After fixing that, jupyterhub works with just CAP_SETUID CAP_SETGID. Thanks so much!

bcb commented on 2021-04-26 07:01 (UTC)

So its a file permissions problem. What are the file permissions on /etc/shadow? It needs to be able to read that to check the password.

The PAM authenticator uses the pamela library to perform the authentication, and the library can be used from the command line. If you do sudo su - to get a root shell, and then python -m pamela -a <regular username> in that root shell, does the authentication succeed?

lonaowna commented on 2021-04-25 20:59 (UTC)

@bcb: I'm just using jupyterhub.service as provided by you, so that runs as root. When logging in, I use my regular non-root user.

I've been trying some other capabilities, and CAP_DAC_OVERRIDE seems to work. That seems to be a pretty broad capability though. I'm not sure if there is another, more specific one, that would also do the trick. Any suggestions?

bcb commented on 2021-04-25 19:57 (UTC)

@lonaowna: are you running the server as root or as a non-root user?

Removing the line removes all capability restrictions -- its not that CAP_SETUID and CAP_SETGID are wrong, but that there is at least one more capability needed in that line.

lonaowna commented on 2021-04-25 19:37 (UTC)

@bcb: thanks for taking over maintainership, and adding the service file!

Unfortunately, I can't use jupyterhub with your service file. This seems to be caused by the following line:

CapabilityBoundingSet=CAP_SETUID CAP_SETGID

With this line in the service file, I can't log in: it shows Invalid username or password in the web interface and jupyterhub[5696]: [JupyterHub auth:1042] PAM Authentication failed: [PAM Error 6] Permission denied in the journal.

If I remove the line, it works fine.

leuko commented on 2020-06-15 10:54 (UTC)

Thank you for this convenient package! We could also integrate a Jupyterhub systemd service. What do you think?

lonaowna commented on 2020-03-28 12:16 (UTC)

Package is no longer broken

danielfm123 commented on 2019-03-13 11:51 (UTC)

this package is broken go for juyterhub-git

danielfm123 commented on 2019-01-24 00:35 (UTC)

Imade yay -S jupyterhub then sudo jupyterhub and i get: Traceback (most recent call last): File "/usr/bin/jupyterhub", line 3, in <module> from jupyterhub.app import main File "/usr/lib/python3.7/site-packages/jupyterhub/app.py", line 57, in <module> from .oauth.store import make_provider File "/usr/lib/python3.7/site-packages/jupyterhub/oauth/store.py", line 13, in <module> from oauth2 import Provider ImportError: cannot import name 'Provider' from 'oauth2' (/usr/lib/python3.7/site-packages/oauth2/init.py)

bluerider commented on 2019-01-09 16:25 (UTC)

@danielfm123 This may be a configuration problem. Look over jupyter_notebook_config.py

danielfm123 commented on 2018-12-26 10:57 (UTC)

I just cant make it work... i just want it to work with local users, but i get this error...

[dfischer@ativ8 jupyterlab]$ jupyterhub Traceback (most recent call last): File "/usr/bin/jupyterhub", line 3, in <module> from jupyterhub.app import main File "/usr/lib/python3.7/site-packages/jupyterhub/app.py", line 57, in <module> from .oauth.store import make_provider File "/usr/lib/python3.7/site-packages/jupyterhub/oauth/store.py", line 13, in <module> from oauth2 import Provider ImportError: cannot import name 'Provider' from 'oauth2' (/usr/lib/python3.7/site-packages/oauth2/init.py)

i dont even want oauth

phuijse commented on 2018-11-30 18:05 (UTC)

Thanks for maintaining this. Just wanted to tell that I had to install python-async_generator (community) and python-oauth2 (through pip) before getting to run the latest version (0.9.2-1). Cheers

kkumer commented on 2016-02-25 12:01 (UTC)

I needed python-pamela to run it, so I guess it should be added to depends.

whynothugo commented on 2015-10-09 07:18 (UTC)

makedepends should list "bower" (which is in now in [community]).

xantares commented on 2015-06-10 06:32 (UTC)

you can create a symbolic link from python to your python2

lsmag commented on 2015-06-09 20:23 (UTC)

But I'm not suggesting you should support every Python setup ever, just to use python3 instead of python, if available. If it isn't, just assumes `python` is 3.x (as you already do) and go ahead. Something like https://github.com/facebook/PathPicker/commit/8a225149f357e4ea426725043cd8f16caaaf678b#diff-1cf1318db42376e7530367c760025f5eR26, but for python3.

xantares commented on 2015-06-09 19:03 (UTC)

we cannot handle every way of installing python, it's only supposed to work with python system packages

lsmag commented on 2015-06-09 16:17 (UTC)

The build fails in systems with different python versions (I use pyenv and link `python` to 2.7, for example). Maybe check if python3.x executable exists and use it instead of `python`, simply? It keeps compatibility with current systems and enables different Python layouts.

krvkir commented on 2015-05-22 18:36 (UTC)

Tried this on two computers and on both got this: jinja2.exceptions.TemplateNotFound: index.html Version installed with easy_install runs fine.