{"id":13929224,"url":"https://github.com/kevin-bates/gateway_provisioners","last_synced_at":"2025-07-19T11:31:10.356Z","repository":{"id":62387297,"uuid":"555528923","full_name":"kevin-bates/gateway_provisioners","owner":"kevin-bates","description":null,"archived":false,"fork":true,"pushed_at":"2024-02-27T15:14:53.000Z","size":1047,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-26T18:40:21.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jupyter-server/gateway_provisioners","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kevin-bates.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-21T19:08:48.000Z","updated_at":"2024-05-26T21:39:38.000Z","dependencies_parsed_at":"2023-02-12T17:30:26.226Z","dependency_job_id":null,"html_url":"https://github.com/kevin-bates/gateway_provisioners","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kevin-bates/gateway_provisioners","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-bates%2Fgateway_provisioners","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-bates%2Fgateway_provisioners/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-bates%2Fgateway_provisioners/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-bates%2Fgateway_provisioners/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevin-bates","download_url":"https://codeload.github.com/kevin-bates/gateway_provisioners/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin-bates%2Fgateway_provisioners/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265926920,"owners_count":23850886,"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":[],"created_at":"2024-08-07T18:02:11.667Z","updated_at":"2025-07-19T11:31:09.687Z","avatar_url":"https://github.com/kevin-bates.png","language":"Python","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"# Gateway Provisioners\n\n[![Build Status](https://github.com/jupyter-server/gateway_provisioners/actions/workflows/build.yml/badge.svg?query=branch%3Amain++)](https://github.com/jupyter-server/gateway_provisioners/actions/workflows/build.yml/badge.svg?query=branch%3Amain++)\n[![Documentation Status](https://readthedocs.org/projects/gateway_provisioners/badge/?version=latest)](https://gateway-provisioners.readthedocs.io/en/latest/?badge=latest)\n\nGateway Provisioners provides [kernel provisioners](https://jupyter-client.readthedocs.io/en/latest/provisioning.html)\nthat interact with kernels launched into resource-managed clusters or otherwise run remotely from the launching server.\nThis functionality derives from [Jupyter Enterprise Gateway's](https://github.com/jupyter-server/enterprise_gateway)\n_process proxy_ architecture. However, unlike [process proxies](https://jupyter-enterprise-gateway.readthedocs.io/en/latest/contributors/system-architecture.html#process-proxy),\nyou do not need to use a gateway server to use these provisioners - although, in certain cases,\nit is recommended (for example when the launching server does not reside within the same network as the launched kernel).\n\nHere is the current set of provisioners provided by this package, many of which have their requirements conditionally\ninstalled:\n\n- `KubernetesProvisioner` - Kernels (residing in images) are launched as pods within a Kubernetes cluster\n  - `pip install gateway_provisioners[k8s]`\n- `DockerSwarmProvisioner` - Kernels (residing in images) are launched as containers within a DockerSwarm cluster\n- `DockerProvisioner` - Kernels (residing in images) are launched as containers on the local server\n  - `pip install gateway_provisioners[docker]`\n- `YarnProvisioner` - Kernels are launched into a Hadoop YARN cluster (primarily Spark)\n  - `pip install gateway_provisioners[yarn]`\n- `DistributedProvisioner` - Kernels are launched across a set of hosts using SSH, round-robin\n  - `pip install gateway_provisioners`\n\nThis package also includes command-line utilities that can be used to create kernel specifications or inject bootstrap\nfiles into docker images relative to the desired provisioner:\n\n- `jupyter-k8s-spec` - for building kernel specifications relative to the `KubernetesProvisioner`\n- `jupyter-docker-spec` - for building kernel specifications relative to `DockerProvisioner` and `DockerSwarmProvisioner`\n- `jupyter-yarn-spec` - for building kernel specifications relative to the `YarnProvisioner`\n- `jupyter-ssh-spec` - for building kernel specifications relative to the `DistributedProvisioner`\n- `jupyter-image-bootstrap` - for injecting bootstrap support when building kernel-based images\n\n**Note:** The container-based provisioners (`KubernetesProvisioner`, `DockerSwarmProvisioner`, and `DockerProvisioner`)\nrequire that the hosting server also be running within the same environment/network. As a result, these provisioners\nmay be better suited for use by a Gateway Server (e.g., [Jupyter Kernel Gateway](https://github.com/jupyter-server/kernel_gateway))\nso as to not require the Notebook/Lab server also be deployed in a container.\n\n______________________________________________________________________\n\n## Installation\n\nDetailed deployment instructions are located in the\n[Operators Guide](https://gateway-provisioners.readthedocs.io/en/latest/operators/index.html)\nof the project docs. Here's a quick start using `pip`:\n\n```bash\n# install from pypi\npip install --upgrade gateway-provisioners\n\n# options for the command-line utilities can be viewed using '--help-all'\njupyter yarn-spec install --help-all\n\n# run it with default options to install a Python-based kernelspec for Hadoop Yarn\njupyter yarn-spec install\n```\n\n## Contributing\n\nThe [Contribution page](https://gateway-provisioners.readthedocs.io/en/latest/contributors/contrib.html) includes\ninformation about how to contribute to Gateway Provisioners. We encourage you to explore the other topics in our\n[Contributors Guide](https://gateway-provisioners.readthedocs.io/en/latest/contributors/index.html)\nlike how to [set up a development environment](https://gateway-provisioners.readthedocs.io/en/latest/contributors/devinstall.html),\nor gaining an understanding of the [system architecture](https://gateway-provisioners.readthedocs.io/en/latest/contributors/system-architecture.html),\namong other things.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevin-bates%2Fgateway_provisioners","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevin-bates%2Fgateway_provisioners","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevin-bates%2Fgateway_provisioners/lists"}