{"id":21997192,"url":"https://github.com/nordichpc/sjupyter","last_synced_at":"2026-03-16T18:30:49.648Z","repository":{"id":82120040,"uuid":"190541993","full_name":"NordicHPC/sjupyter","owner":"NordicHPC","description":"Easily launch personal Jupyter servers in Slurm","archived":false,"fork":false,"pushed_at":"2019-06-06T10:45:31.000Z","size":7,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T21:03:38.286Z","etag":null,"topics":["a","hpc","jupyter","slurm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NordicHPC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-06T08:11:37.000Z","updated_at":"2022-09-18T06:46:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"ebb11a8e-c4f5-462e-8e36-4c8eb8c2e9c5","html_url":"https://github.com/NordicHPC/sjupyter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NordicHPC%2Fsjupyter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NordicHPC%2Fsjupyter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NordicHPC%2Fsjupyter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NordicHPC%2Fsjupyter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NordicHPC","download_url":"https://codeload.github.com/NordicHPC/sjupyter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251782760,"owners_count":21642986,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a","hpc","jupyter","slurm"],"created_at":"2024-11-29T22:15:30.564Z","updated_at":"2026-03-16T18:30:49.595Z","avatar_url":"https://github.com/NordicHPC.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sjupyter: start Jupyter server in a Slurm queue, making it easy to connect\n\nThis doesn't do anything fancy, but makes the running of a Jupyter\nnotebook server in a Slurm queue a one-command process, and prints\nhints on connecting (since that's usually the hardest part).  [Example\nuser instructions](https://scicomp.aalto.fi/triton/apps/sjupyter.html)\nwhich could be moved to here.\n\nIf you have a HPC JupyterHub, this module has very little use (only\nallowing users to run their own Jupyter in other partitions beyond\nwhat you support through the hub).\n\nThis module does:\n\n- if the `jupyter` command is not in `PATH`, load some configurable\n  default Lmod module.\n\n- Any unknown options get passed to `srun` which executes the script\n  on a node.\n\n- Exectute `jupyter notebook`.  Print a help message which describes\n  how to connect.\n\n  - Instructions describe how to use \"FoxyProxy Standard\", which\n    allows you to define URL patterns which are forwarded to a SOCKS\n    proxy, which is run by ssh.  By using SOCKS+FoxyProxy, we can\n    dynamically forward any port to any host without having to already\n    know the host/port (and without changing system default proxy).\n\n  - Prints the ssh command to set up the proxy.\n\nTo clarify, this is the message it prints after typing `srun` with no\narguments (it could be improved, may be different in the current\ncode):\n\n```\n********************\n* Starting jupyter.  To cancel, C-c C-c twice within one second (to kill\n* srun).\n*\n* You now need to connect to the jupyter  The direct way: ssh to\n* %(CLUSTER_NAME)s with\n*   ssh -L %(port)d:%(hostname)s:%(port)d %(CLUSTER_SSH)s\n* and use the URL below, but change %(hostname)s to localhost\n*\n* Even better, use SSH proxy:\n*   'ssh -D 8123 %(CLUSTER_SSH)s'\n* For Firefox, install the extension FoxyProxy Standard,\n* Set up a new proxy rule for the pattern %(CLUSTER_INTERNAL_PATTERN)s, using\n*   localhost:8123 type SOCKS5,\n* Now any %(CLUSTER_NAME)s jupyter URLs automatically go to your notebook!\n* OR:\n* Create a new browser instance,\n* Change the proxy of that browser to localhost:8123, SOCKS5,\n* Connect to jupyter using the exact URL that is printed below.\n* %(CLUSTER_NETWORK_CONNECT)s\n********************\n```\n\n\n\n## Installation and configuration\n\nInstallation: copy the single script to PATH, there are no\ndependencies.  The script should be on a shared filesystem, or\nnon-shared filesystem and link to a shared filesystem.  This is\nbecause the script re-executes itself on the nodes.\n\nConfiguration: place a file with the same name as the script, with a\nsuffix `.conf` next to the absolute path of the script (after\nexpanding symlinks).\n\n\n\n## Development and maintenance\n\nOriginally development by Aalto University, but should be considered\nbeta software: it has worked in testing, but not taken into wide use.\nMajor contributions welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnordichpc%2Fsjupyter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnordichpc%2Fsjupyter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnordichpc%2Fsjupyter/lists"}