{ "info": { "author": "Project Jupyter Contributors", "author_email": "jupyter@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "\n# JupyterHub Traefik Proxy\n\n[![Build Status](https://travis-ci.org/jupyterhub/traefik-proxy.svg?branch=master)](https://travis-ci.org/jupyterhub/traefik-proxy)\n[![Documentation Status](https://readthedocs.org/projects/jupyterhub-traefik-proxy/badge/?version=latest)](https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/?badge=latest)\n\nAn implementation of the JupyterHub proxy api with [traefik](https://traefik.io): an extremely lightweight,\nportable reverse proxy implementation, that supports load balancing and can configure itself automatically and dynamically.\n\nThere are three versions for the proxy, depending on how traefik stores the routes:\n\n* for **smaller**, single-node deployments:\n\t* TraefikTomlProxy\n* for **distributed** setups:\n\t* TraefikEtcdProxy\n\t* TraefikConsulProxy\n\n## Instalation\nYou can find a complete installation guide [here](https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/install.html).\n\n\n## Documentation\nThe latest documentation is available at: https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/.\n\n## Running the tests\nThere are some tests that use *etcdctl* command line client for etcd.\nMake sure to set environment variable ETCDCTL_API=3 before running the tests, so that the v3 API to be used, e.g.:\n\n```\n$ export ETCDCTL_API=3\n```\nYou can then run the all the test suite from the *traefik-proxy* directory with:\n\n```\n$ pytest -v ./tests\n```\nOr you can run a specific test with:\n\n```\n$ pytest -v ./tests/\n```\n\n## Example setups:\n* For TraefikTomlProxy: https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/toml.html#example-setup\n* For TraefikEtcdProxy: https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/etcd.html#example-setup\n* For TraefikConsulProxy: https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/consul.html#example-setup\n\n## JupyterHub configuration examples\nYou can use the configuration examples in the ```examples``` directory in order to configure JupyterHub to run with TraefikProxy.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://jupyterhub-traefik-proxy.readthedocs.io", "keywords": "jupyter jupyterhub traefik proxy", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "jupyterhub-traefik-proxy", "package_url": "https://pypi.org/project/jupyterhub-traefik-proxy/", "platform": "", "project_url": "https://pypi.org/project/jupyterhub-traefik-proxy/", "project_urls": { "Documentation": "https://jupyterhub-traefik-proxy.readthedocs.io", "Homepage": "https://jupyterhub-traefik-proxy.readthedocs.io", "Source": "https://github.com/jupyterhub/traefik-proxy/", "Tracker": "https://github.com/jupyter/traefik-proxy/issues" }, "release_url": "https://pypi.org/project/jupyterhub-traefik-proxy/0.1.4/", "requires_dist": [ "jupyterhub (>=0.9)", "etcd3", "aiohttp", "python-consul", "passlib", "toml", "escapism" ], "requires_python": ">=3.6", "summary": "JupyterHub proxy implementation with traefik", "version": "0.1.4" }, "last_serial": 5861257, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "087e395f791004a7eae333a70395d662", "sha256": "8e55910085cdc3098527fd11dbc8c313bb7a625e6442ad72188911023e392ccd" }, "downloads": -1, "filename": "jupyterhub_traefik_proxy-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "087e395f791004a7eae333a70395d662", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22052, "upload_time": "2019-02-19T13:08:37", "url": "https://files.pythonhosted.org/packages/36/ac/38d87bf3846e2b8fd93d02cb26a9174a2120e9d0a03028118841d584b96a/jupyterhub_traefik_proxy-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "336f58257ad52104e013ce08cefe511c", "sha256": "318128e621f14bda1a452b9b881c30021ba226d99dd1a73722104fc4cc8b1a6c" }, "downloads": -1, "filename": "jupyterhub-traefik-proxy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "336f58257ad52104e013ce08cefe511c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 26959, "upload_time": "2019-02-19T13:08:39", "url": "https://files.pythonhosted.org/packages/d9/16/71165e8b20eeec3b1fe526bb8ed06e6db5f6bebb91c72de866cf90bbe2a6/jupyterhub-traefik-proxy-0.1.0.tar.gz" } ], "0.1.0a1": [ { "comment_text": "", "digests": { "md5": "4853977066980bb2bdb9ec24d092ac37", "sha256": "863fe69dba35c20bae9193b4a0d9c0894c8ae579b56e0177f0f071d107e9d138" }, "downloads": -1, "filename": "jupyterhub_traefik_proxy-0.1.0a1-py3-none-any.whl", "has_sig": false, "md5_digest": "4853977066980bb2bdb9ec24d092ac37", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21888, "upload_time": "2019-02-11T09:58:44", "url": "https://files.pythonhosted.org/packages/56/ce/f10cc67dc61ad2c97ef97bee876af2e62223bc212f3b9eccae995ba46488/jupyterhub_traefik_proxy-0.1.0a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4520925ecc715fdc4310698bfe2d9e2f", "sha256": "13609ad0842cf447c666e811a0edd43cb2ac61ca69d8b56c08544baafee6c80b" }, "downloads": -1, "filename": "jupyterhub-traefik-proxy-0.1.0a1.tar.gz", "has_sig": false, "md5_digest": "4520925ecc715fdc4310698bfe2d9e2f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 26875, "upload_time": "2019-02-11T09:58:46", "url": "https://files.pythonhosted.org/packages/4c/53/54acff96e85ecf75ffdc068a46c7f1ecff823b18fbb6536fa69132672d11/jupyterhub-traefik-proxy-0.1.0a1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3c95a65c5ce55247be2da6373b3373ac", "sha256": "f6af8838c1e9b25c49dbae12e0c5ee9531f7ff9d241015463371c73ff799d2af" }, "downloads": -1, "filename": "jupyterhub_traefik_proxy-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3c95a65c5ce55247be2da6373b3373ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22553, "upload_time": "2019-02-22T14:42:10", "url": "https://files.pythonhosted.org/packages/e3/6a/b27a55c96b1c9805f8060c4c86da2a5c0ccd675f0c45ecf2de985d1e8b5d/jupyterhub_traefik_proxy-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "91a40756c42f2cedc4baea7fbfd243fb", "sha256": "59b4e634e28ab657b7e457b842dd21e429aecf6ab41ef2686d75a0d6a120491e" }, "downloads": -1, "filename": "jupyterhub-traefik-proxy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "91a40756c42f2cedc4baea7fbfd243fb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27509, "upload_time": "2019-02-22T14:42:11", "url": "https://files.pythonhosted.org/packages/3f/66/f602d85abfb642becfef31946c1015926be46498d7b8645475e0357ab05b/jupyterhub-traefik-proxy-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "0eb5b10fc6929140dbdd4b07bd828193", "sha256": "89fc6b442467c06b1e56e52177d0d9ad1d7410877ce4d27f725daa85df802cc0" }, "downloads": -1, "filename": "jupyterhub_traefik_proxy-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0eb5b10fc6929140dbdd4b07bd828193", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22518, "upload_time": "2019-02-22T16:44:02", "url": "https://files.pythonhosted.org/packages/9e/01/4e91f17c3cfb6be1178c5272e14bdf8da0af694a0c8e8d2cb11157d94e98/jupyterhub_traefik_proxy-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e04a9470f9da6394c91f022af987238f", "sha256": "d633771dc4e59777c9e081c77e56ed3f0edd8f0e17f28b57d6ee3a982e19ecd6" }, "downloads": -1, "filename": "jupyterhub-traefik-proxy-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e04a9470f9da6394c91f022af987238f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27482, "upload_time": "2019-02-22T16:44:04", "url": "https://files.pythonhosted.org/packages/71/7c/64463f9368c66490a3833a2993d00c780cf924100026984a38a3b7e0837d/jupyterhub-traefik-proxy-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7f39136db110feac67b8ef7b5ef47d7b", "sha256": "cba0e9a15a2fd20fde335d3340de526c95a8219abc061da5bc779257a3421f82" }, "downloads": -1, "filename": "jupyterhub_traefik_proxy-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7f39136db110feac67b8ef7b5ef47d7b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22594, "upload_time": "2019-02-26T11:18:48", "url": "https://files.pythonhosted.org/packages/89/96/9e285f19102b9f006c58f195df3721e3f84eff589467d3f300f2702f6beb/jupyterhub_traefik_proxy-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3d9d67f67a25d14286b89786bc60893", "sha256": "054e9ad840271881a5304c34350c6f9473f07cf0d634c6a6e7ab5055b90bef08" }, "downloads": -1, "filename": "jupyterhub-traefik-proxy-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c3d9d67f67a25d14286b89786bc60893", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27531, "upload_time": "2019-02-26T11:18:49", "url": "https://files.pythonhosted.org/packages/54/aa/adff65020b916e31d91f899bc848743bbb445277bd88487e0f8a51c107ce/jupyterhub-traefik-proxy-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e83f4f164c4f6e5f7b5b846f18d6044e", "sha256": "4e3b3190988e8e79aba96992ca52b9e1adca60f3addb8b85f2fc60e2f7934660" }, "downloads": -1, "filename": "jupyterhub_traefik_proxy-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e83f4f164c4f6e5f7b5b846f18d6044e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33682, "upload_time": "2019-09-20T10:40:57", "url": "https://files.pythonhosted.org/packages/ef/da/86150770ed3f745877b6c1fae25a1b633ae3865de35deab8af3bb369b50b/jupyterhub_traefik_proxy-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59ba0a8e59fc8b0c8d6c5d7da1958e2e", "sha256": "f1d677e297c1c5912df4ffab9733c934c610398df4ac397990c476962cdfaac7" }, "downloads": -1, "filename": "jupyterhub-traefik-proxy-0.1.4.tar.gz", "has_sig": false, "md5_digest": "59ba0a8e59fc8b0c8d6c5d7da1958e2e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36541, "upload_time": "2019-09-20T10:40:59", "url": "https://files.pythonhosted.org/packages/3d/4c/0cdda35af2fca6ad023bac3129debac143450cfbb8a03801e7c5030e67ee/jupyterhub-traefik-proxy-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e83f4f164c4f6e5f7b5b846f18d6044e", "sha256": "4e3b3190988e8e79aba96992ca52b9e1adca60f3addb8b85f2fc60e2f7934660" }, "downloads": -1, "filename": "jupyterhub_traefik_proxy-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e83f4f164c4f6e5f7b5b846f18d6044e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33682, "upload_time": "2019-09-20T10:40:57", "url": "https://files.pythonhosted.org/packages/ef/da/86150770ed3f745877b6c1fae25a1b633ae3865de35deab8af3bb369b50b/jupyterhub_traefik_proxy-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59ba0a8e59fc8b0c8d6c5d7da1958e2e", "sha256": "f1d677e297c1c5912df4ffab9733c934c610398df4ac397990c476962cdfaac7" }, "downloads": -1, "filename": "jupyterhub-traefik-proxy-0.1.4.tar.gz", "has_sig": false, "md5_digest": "59ba0a8e59fc8b0c8d6c5d7da1958e2e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36541, "upload_time": "2019-09-20T10:40:59", "url": "https://files.pythonhosted.org/packages/3d/4c/0cdda35af2fca6ad023bac3129debac143450cfbb8a03801e7c5030e67ee/jupyterhub-traefik-proxy-0.1.4.tar.gz" } ] }