diff --git a/app/controller/chainsail/controller/__init__.py b/app/controller/chainsail/controller/__init__.py index 7f1142dd..d5e1354e 100644 --- a/app/controller/chainsail/controller/__init__.py +++ b/app/controller/chainsail/controller/__init__.py @@ -549,10 +549,6 @@ def _do_single_run(self, storage): """ iteration = storage.sim_path self._ask_scheduler_to_add_iteration(iteration) - # Dirty hack to give nodes time (two mintues) to finish installing packages, compile Stan models etc. - # The fact that the controller can just kick off sampling whenever it likes, irrespective of whether the - # user code containers are ready, is a bug and tracked in https://github.com/tweag/chainsail/issues/386. - time.sleep(120) super()._do_single_run(storage) diff --git a/app/scheduler/chainsail/scheduler/app.py b/app/scheduler/chainsail/scheduler/app.py index 4e43db5e..185e8335 100644 --- a/app/scheduler/chainsail/scheduler/app.py +++ b/app/scheduler/chainsail/scheduler/app.py @@ -10,7 +10,6 @@ import shortuuid from celery import chain -from cloudstorage.exceptions import NotFoundError from firebase_admin.auth import ( ExpiredIdTokenError, InvalidIdTokenError, @@ -231,7 +230,7 @@ def get_job_signed_url(job_id, user_id): find_job(job_id, user_id) try: signed_url = get_signed_url(job_id) - except NotFoundError: + except: return ("Results not zipped yet", 404) update_signed_url_task.apply_async((job_id, signed_url), {}) return (signed_url, 200) diff --git a/app/scheduler/chainsail/scheduler/nodes/k8s_pod.py b/app/scheduler/chainsail/scheduler/nodes/k8s_pod.py index 1a2dcddc..1bf3858c 100644 --- a/app/scheduler/chainsail/scheduler/nodes/k8s_pod.py +++ b/app/scheduler/chainsail/scheduler/nodes/k8s_pod.py @@ -215,6 +215,17 @@ def _create_pod(self) -> V1Pod: sub_path=self._CM_FILE_USERCODE, ), ], + readiness_probe=kub.client.V1Probe( + grpc=kub.client.V1GRPCAction(port=50052), + # try every 30 seconds... + period_seconds=30, + # ... up to 10 times. + # This gives the user code server 30 * 10 seconds = 5 minutes to be ready. + failure_threshold=10, + # If everything is well, the gradient evaluation in the health check + # should surely not take more than 5 seconds + timeout_seconds=5, + ) ) # Worker container container_cmd = [self._config.cmd] + self._config.args diff --git a/app/scheduler/poetry.lock b/app/scheduler/poetry.lock index 2dd35d13..64e9723a 100644 --- a/app/scheduler/poetry.lock +++ b/app/scheduler/poetry.lock @@ -644,37 +644,6 @@ prompt-toolkit = ">=3.0.36" [package.extras] testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"] -[[package]] -name = "cloudstorage" -version = "0.11.0" -description = "Unified cloud storage API for storage services." -category = "main" -optional = false -python-versions = ">=3.5" -files = [ - {file = "cloudstorage-0.11.0-py3-none-any.whl", hash = "sha256:dcbcc4b4abe29f1af9953ebf45251ff4468ea41ae05acbc613aaca58268b65fe"}, -] - -[package.dependencies] -google-cloud-storage = {version = ">=1.18.0", optional = true, markers = "extra == \"google\""} -inflection = ">=0.3.1" -python-dateutil = ">=2.7.3" -python-magic = ">=0.4.15" -requests = {version = ">=2.19.1", optional = true, markers = "extra == \"google\""} - -[package.extras] -amazon = ["boto3 (>=1.8.00)"] -dev = ["black (==19.10b0)", "flake8", "flake8 (==3.7.9)", "flake8-bugbear (==20.1.4)", "pre-commit (>=2.0,<3.0)", "prettyconf", "pytest", "requests (>=2.19.1)", "tox"] -digitalocean = ["boto3 (>=1.8.00)"] -docs = ["pygments (==2.6.1)", "sphinx (==3.0.2)", "sphinx-autodoc-typehints (==1.10.3)", "sphinx-rtd-theme (==0.4.3)"] -google = ["google-cloud-storage (>=1.18.0)", "requests (>=2.19.1)"] -lint = ["black (==19.10b0)", "flake8 (==3.7.9)", "flake8-bugbear (==20.1.4)", "pre-commit (>=2.0,<3.0)"] -local = ["filelock (>=3.0.0)", "itsdangerous (>=1.1.0)", "xattr (>=0.9.6)"] -microsoft = ["azure (==4.0.0)"] -minio = ["minio (>=4.0.0)"] -rackspace = ["openstacksdk (<=0.17.2)", "rackspacesdk (==0.7.5)", "requests (>=2.19.1)"] -tests = ["flake8", "prettyconf", "pytest", "requests (>=2.19.1)"] - [[package]] name = "colorama" version = "0.4.6" @@ -793,7 +762,7 @@ files = [ cffi = ">=1.12" [package.extras] -docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx_rtd_theme"] +docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"] docstest = ["doc8", "pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"] sdist = ["setuptools-rust (>=0.11.4)"] @@ -915,82 +884,6 @@ files = [ Flask = ">=0.10" SQLAlchemy = ">=0.8.0" -[[package]] -name = "gevent" -version = "22.10.2" -description = "Coroutine-based network library" -category = "main" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5" -files = [ - {file = "gevent-22.10.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:97cd42382421779f5d82ec5007199e8a84aa288114975429e4fd0a98f2290f10"}, - {file = "gevent-22.10.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:1e1286a76f15b5e15f1e898731d50529e249529095a032453f2c101af3fde71c"}, - {file = "gevent-22.10.2-cp27-cp27m-win32.whl", hash = "sha256:59b47e81b399d49a5622f0f503c59f1ce57b7705306ea0196818951dfc2f36c8"}, - {file = "gevent-22.10.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1d543c9407a1e4bca11a8932916988cfb16de00366de5bf7bc9e7a3f61e60b18"}, - {file = "gevent-22.10.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4e2f008c82dc54ec94f4de12ca6feea60e419babb48ec145456907ae61625aa4"}, - {file = "gevent-22.10.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:990d7069f14dc40674e0d5cb43c68fd3bad8337048613b9bb94a0c4180ffc176"}, - {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f23d0997149a816a2a9045af29c66f67f405a221745b34cefeac5769ed451db8"}, - {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b43d500d7d3c0e03070dee813335bb5315215aa1cf6a04c61093dfdd718640b3"}, - {file = "gevent-22.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b68f4c9e20e47ad49fe797f37f91d5bbeace8765ce2707f979a8d4ec197e4d"}, - {file = "gevent-22.10.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1f001cac0ba8da76abfeb392a3057f81fab3d67cc916c7df8ea977a44a2cc989"}, - {file = "gevent-22.10.2-cp310-cp310-win_amd64.whl", hash = "sha256:3b7eae8a0653ba95a224faaddf629a913ace408edb67384d3117acf42d7dcf89"}, - {file = "gevent-22.10.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8f2477e7b0a903a01485c55bacf2089110e5f767014967ba4b287ff390ae2638"}, - {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddaa3e310a8f1a45b5c42cf50b54c31003a3028e7d4e085059090ea0e7a5fddd"}, - {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98bc510e80f45486ef5b806a1c305e0e89f0430688c14984b0dbdec03331f48b"}, - {file = "gevent-22.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:877abdb3a669576b1d51ce6a49b7260b2a96f6b2424eb93287e779a3219d20ba"}, - {file = "gevent-22.10.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21ad79cca234cdbfa249e727500b0ddcbc7adfff6614a96e6eaa49faca3e4f2"}, - {file = "gevent-22.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e955238f59b2947631c9782a713280dd75884e40e455313b5b6bbc20b92ff73"}, - {file = "gevent-22.10.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:5aa99e4882a9e909b4756ee799c6fa0f79eb0542779fad4cc60efa23ec1b2aa8"}, - {file = "gevent-22.10.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:d82081656a5b9a94d37c718c8646c757e1617e389cdc533ea5e6a6f0b8b78545"}, - {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54f4bfd74c178351a4a05c5c7df6f8a0a279ff6f392b57608ce0e83c768207f9"}, - {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ff3796692dff50fec2f381b9152438b221335f557c4f9b811f7ded51b7a25a1"}, - {file = "gevent-22.10.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f01c9adbcb605364694b11dcd0542ec468a29ac7aba2fb5665dc6caf17ba4d7e"}, - {file = "gevent-22.10.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9d85574eb729f981fea9a78998725a06292d90a3ed50ddca74530c3148c0be41"}, - {file = "gevent-22.10.2-cp36-cp36m-win32.whl", hash = "sha256:8c192d2073e558e241f0b592c1e2b34127a4481a5be240cad4796533b88b1a98"}, - {file = "gevent-22.10.2-cp36-cp36m-win_amd64.whl", hash = "sha256:a2237451c721a0f874ef89dbb4af4fdc172b76a964befaa69deb15b8fff10f49"}, - {file = "gevent-22.10.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:53ee7f170ed42c7561fe8aff5d381dc9a4124694e70580d0c02fba6aafc0ea37"}, - {file = "gevent-22.10.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:96c56c280e3c43cfd075efd10b250350ed5ffd3c1514ec99a080b1b92d7c8374"}, - {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6c144e08dfad4106effc043a026e5d0c0eff6ad031904c70bf5090c63f3a6a7"}, - {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:018f93de7d5318d2fb440f846839a4464738468c3476d5c9cf7da45bb71c18bd"}, - {file = "gevent-22.10.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7ed2346eb9dc4344f9cb0d7963ce5b74fe16fdd031a2809bb6c2b6eba7ebcd5"}, - {file = "gevent-22.10.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:84c517e33ed604fa06b7d756dc0171169cc12f7fdd68eb7b17708a62eebf4516"}, - {file = "gevent-22.10.2-cp37-cp37m-win32.whl", hash = "sha256:4114f0f439f0b547bb6f1d474fee99ddb46736944ad2207cef3771828f6aa358"}, - {file = "gevent-22.10.2-cp37-cp37m-win_amd64.whl", hash = "sha256:0d581f22a5be6281b11ad6309b38b18f0638cf896931223cbaa5adb904826ef6"}, - {file = "gevent-22.10.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2929377c8ebfb6f4d868d161cd8de2ea6b9f6c7a5fcd4f78bcd537319c16190b"}, - {file = "gevent-22.10.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:efc003b6c1481165af61f0aeac248e0a9ac8d880bb3acbe469b448674b2d5281"}, - {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db562a8519838bddad0c439a2b12246bab539dd50e299ea7ff3644274a33b6a5"}, - {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1472012493ca1fac103f700d309cb6ef7964dcdb9c788d1768266e77712f5e49"}, - {file = "gevent-22.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c04ee32c11e9fcee47c1b431834878dc987a7a2cc4fe126ddcae3bad723ce89"}, - {file = "gevent-22.10.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8729129edef2637a8084258cb9ec4e4d5ca45d97ac77aa7a6ff19ccb530ab731"}, - {file = "gevent-22.10.2-cp38-cp38-win32.whl", hash = "sha256:ae90226074a6089371a95f20288431cd4b3f6b0b096856afd862e4ac9510cddd"}, - {file = "gevent-22.10.2-cp38-cp38-win_amd64.whl", hash = "sha256:494c7f29e94df9a1c3157d67bb7edfa32a46eed786e04d9ee68d39f375e30001"}, - {file = "gevent-22.10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:58898dbabb5b11e4d0192aae165ad286dc6742c543e1be9d30dc82753547c508"}, - {file = "gevent-22.10.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:4197d423e198265eef39a0dea286ef389da9148e070310f34455ecee8172c391"}, - {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da4183f0b9d9a1e25e1758099220d32c51cc2c6340ee0dea3fd236b2b37598e4"}, - {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5488eba6a568b4d23c072113da4fc0feb1b5f5ede7381656dc913e0d82204e2"}, - {file = "gevent-22.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319d8b1699b7b8134de66d656cd739b308ab9c45ace14d60ae44de7775b456c9"}, - {file = "gevent-22.10.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f3329bedbba4d3146ae58c667e0f9ac1e6f1e1e6340c7593976cdc60aa7d1a47"}, - {file = "gevent-22.10.2-cp39-cp39-win32.whl", hash = "sha256:172caa66273315f283e90a315921902cb6549762bdcb0587fd60cb712a9d6263"}, - {file = "gevent-22.10.2-cp39-cp39-win_amd64.whl", hash = "sha256:323b207b281ba0405fea042067fa1a61662e5ac0d574ede4ebbda03efd20c350"}, - {file = "gevent-22.10.2-pp27-pypy_73-win_amd64.whl", hash = "sha256:ed7f16613eebf892a6a744d7a4a8f345bc6f066a0ff3b413e2479f9c0a180193"}, - {file = "gevent-22.10.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a47a4e77e2bc668856aad92a0b8de7ee10768258d93cd03968e6c7ba2e832f76"}, - {file = "gevent-22.10.2.tar.gz", hash = "sha256:1ca01da176ee37b3527a2702f7d40dbc9ffb8cfc7be5a03bfa4f9eec45e55c46"}, -] - -[package.dependencies] -cffi = {version = ">=1.12.2", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""} -greenlet = {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\""} -setuptools = "*" -"zope.event" = "*" -"zope.interface" = "*" - -[package.extras] -dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"] -docs = ["repoze.sphinx.autointerface", "sphinxcontrib-programoutput", "zope.schema"] -monitor = ["psutil (>=5.7.0)"] -recommended = ["backports.socketpair", "cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)", "selectors2"] -test = ["backports.socketpair", "cffi (>=1.12.2)", "contextvars (==2.4)", "coverage (>=5.0)", "coveralls (>=1.7.0)", "dnspython (>=1.16.0,<2.0)", "futures", "idna", "mock", "objgraph", "psutil (>=5.7.0)", "requests", "selectors2"] - [[package]] name = "gevent" version = "23.7.0" @@ -1034,7 +927,10 @@ files = [ [package.dependencies] cffi = {version = ">=1.12.2", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""} -greenlet = {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.12\""} +greenlet = [ + {version = ">=2.0.0", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.12\""}, + {version = ">=3.0a1", markers = "platform_python_implementation == \"CPython\" and python_version >= \"3.12\""}, +] "zope.event" = "*" "zope.interface" = "*" @@ -1314,76 +1210,74 @@ grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] [[package]] name = "greenlet" -version = "2.0.2" +version = "3.0.3" description = "Lightweight in-process concurrent programming" category = "main" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" -files = [ - {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"}, - {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"}, - {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, - {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, - {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, - {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"}, - {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"}, - {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, - {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, - {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, - {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"}, - {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"}, - {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"}, - {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"}, - {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"}, - {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"}, - {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"}, - {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"}, - {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"}, - {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"}, - {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"}, - {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"}, - {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"}, - {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"}, - {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"}, - {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, - {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, - {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"}, - {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"}, - {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, - {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, - {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, - {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"}, - {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"}, - {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"}, - {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"}, - {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"}, - {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"}, +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, + {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, + {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, + {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, + {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, + {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, + {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, + {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, + {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, + {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, + {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, + {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, + {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, + {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, + {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, + {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, ] [package.extras] -docs = ["Sphinx", "docutils (<0.18)"] +docs = ["Sphinx", "furo"] test = ["objgraph", "psutil"] [[package]] @@ -1508,18 +1402,6 @@ docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker perf = ["ipython"] testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] -[[package]] -name = "inflection" -version = "0.5.1" -description = "A port of Ruby on Rails inflector to Python" -category = "main" -optional = false -python-versions = ">=3.5" -files = [ - {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, - {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, -] - [[package]] name = "iniconfig" version = "2.0.0" @@ -1629,14 +1511,14 @@ zookeeper = ["kazoo (>=2.8.0)"] [[package]] name = "kubernetes" -version = "18.20.0" +version = "26.1.0" description = "Kubernetes python client" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.6" files = [ - {file = "kubernetes-18.20.0-py2.py3-none-any.whl", hash = "sha256:ff31ec17437293e7d4e1459f1228c42d27c7724dfb56b4868aba7a901a5b72c9"}, - {file = "kubernetes-18.20.0.tar.gz", hash = "sha256:0c72d00e7883375bd39ae99758425f5e6cb86388417cf7cc84305c211b2192cf"}, + {file = "kubernetes-26.1.0-py2.py3-none-any.whl", hash = "sha256:e3db6800abf7e36c38d2629b5cb6b74d10988ee0cba6fba45595a7cbe60c0042"}, + {file = "kubernetes-26.1.0.tar.gz", hash = "sha256:5854b0c508e8d217ca205591384ab58389abdae608576f9c9afc35a3c76a366c"}, ] [package.dependencies] @@ -1728,6 +1610,16 @@ files = [ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, @@ -2472,18 +2364,6 @@ files = [ [package.extras] cli = ["click (>=5.0)"] -[[package]] -name = "python-magic" -version = "0.4.27" -description = "File type identification using libmagic" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "python-magic-0.4.27.tar.gz", hash = "sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b"}, - {file = "python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3"}, -] - [[package]] name = "pyyaml" version = "6.0.1" @@ -2497,6 +2377,7 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -2504,8 +2385,16 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -2522,6 +2411,7 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -2529,6 +2419,7 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -2680,6 +2571,7 @@ files = [ {file = "SQLAlchemy-1.4.49-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:03db81b89fe7ef3857b4a00b63dedd632d6183d4ea5a31c5d8a92e000a41fc71"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:95b9df9afd680b7a3b13b38adf6e3a38995da5e162cc7524ef08e3be4e5ed3e1"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a63e43bf3f668c11bb0444ce6e809c1227b8f067ca1068898f3008a273f52b09"}, + {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca46de16650d143a928d10842939dab208e8d8c3a9a8757600cae9b7c579c5cd"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f835c050ebaa4e48b18403bed2c0fda986525896efd76c245bdd4db995e51a4c"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c21b172dfb22e0db303ff6419451f0cac891d2e911bb9fbf8003d717f1bcf91"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-win32.whl", hash = "sha256:5fb1ebdfc8373b5a291485757bd6431de8d7ed42c27439f543c81f6c8febd729"}, @@ -2689,26 +2581,35 @@ files = [ {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5debe7d49b8acf1f3035317e63d9ec8d5e4d904c6e75a2a9246a119f5f2fdf3d"}, {file = "SQLAlchemy-1.4.49-cp311-cp311-win32.whl", hash = "sha256:82b08e82da3756765c2e75f327b9bf6b0f043c9c3925fb95fb51e1567fa4ee87"}, {file = "SQLAlchemy-1.4.49-cp311-cp311-win_amd64.whl", hash = "sha256:171e04eeb5d1c0d96a544caf982621a1711d078dbc5c96f11d6469169bd003f1"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f23755c384c2969ca2f7667a83f7c5648fcf8b62a3f2bbd883d805454964a800"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8396e896e08e37032e87e7fbf4a15f431aa878c286dc7f79e616c2feacdb366c"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66da9627cfcc43bbdebd47bfe0145bb662041472393c03b7802253993b6b7c90"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-win32.whl", hash = "sha256:9a06e046ffeb8a484279e54bda0a5abfd9675f594a2e38ef3133d7e4d75b6214"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-win_amd64.whl", hash = "sha256:7cf8b90ad84ad3a45098b1c9f56f2b161601e4670827d6b892ea0e884569bd1d"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:36e58f8c4fe43984384e3fbe6341ac99b6b4e083de2fe838f0fdb91cebe9e9cb"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b31e67ff419013f99ad6f8fc73ee19ea31585e1e9fe773744c0f3ce58c039c30"}, + {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc22807a7e161c0d8f3da34018ab7c97ef6223578fcdd99b1d3e7ed1100a5db"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c14b29d9e1529f99efd550cd04dbb6db6ba5d690abb96d52de2bff4ed518bc95"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c40f3470e084d31247aea228aa1c39bbc0904c2b9ccbf5d3cfa2ea2dac06f26d"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-win32.whl", hash = "sha256:706bfa02157b97c136547c406f263e4c6274a7b061b3eb9742915dd774bbc264"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-win_amd64.whl", hash = "sha256:a7f7b5c07ae5c0cfd24c2db86071fb2a3d947da7bd487e359cc91e67ac1c6d2e"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:4afbbf5ef41ac18e02c8dc1f86c04b22b7a2125f2a030e25bbb4aff31abb224b"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24e300c0c2147484a002b175f4e1361f102e82c345bf263242f0449672a4bccf"}, + {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:393cd06c3b00b57f5421e2133e088df9cabcececcea180327e43b937b5a7caa5"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:201de072b818f8ad55c80d18d1a788729cccf9be6d9dc3b9d8613b053cd4836d"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7653ed6817c710d0c95558232aba799307d14ae084cc9b1f4c389157ec50df5c"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-win32.whl", hash = "sha256:647e0b309cb4512b1f1b78471fdaf72921b6fa6e750b9f891e09c6e2f0e5326f"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-win_amd64.whl", hash = "sha256:ab73ed1a05ff539afc4a7f8cf371764cdf79768ecb7d2ec691e3ff89abbc541e"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:37ce517c011560d68f1ffb28af65d7e06f873f191eb3a73af5671e9c3fada08a"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1878ce508edea4a879015ab5215546c444233881301e97ca16fe251e89f1c55"}, + {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ab792ca493891d7a45a077e35b418f68435efb3e1706cb8155e20e86a9013c"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0e8e608983e6f85d0852ca61f97e521b62e67969e6e640fe6c6b575d4db68557"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccf956da45290df6e809ea12c54c02ace7f8ff4d765d6d3dfb3655ee876ce58d"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-win32.whl", hash = "sha256:f167c8175ab908ce48bd6550679cc6ea20ae169379e73c7720a28f89e53aa532"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-win_amd64.whl", hash = "sha256:45806315aae81a0c202752558f0df52b42d11dd7ba0097bf71e253b4215f34f4"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b6d0c4b15d65087738a6e22e0ff461b407533ff65a73b818089efc8eb2b3e1de"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a843e34abfd4c797018fd8d00ffffa99fd5184c421f190b6ca99def4087689bd"}, + {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:738d7321212941ab19ba2acf02a68b8ee64987b248ffa2101630e8fccb549e0d"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1c890421651b45a681181301b3497e4d57c0d01dc001e10438a40e9a9c25ee77"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d26f280b8f0a8f497bc10573849ad6dc62e671d2468826e5c748d04ed9e670d5"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-win32.whl", hash = "sha256:ec2268de67f73b43320383947e74700e95c6770d0c68c4e615e9897e46296294"}, @@ -3070,4 +2971,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "754bc81dc33c7219f2d1da8565e8a2c8c23caad01f9dcc5675f36c422a4babce" +content-hash = "b47d4fe303a03a5d2bde2c96a9d48a5ea65c8b2c4c11501b46fe0ba00d6743ef" diff --git a/app/scheduler/pyproject.toml b/app/scheduler/pyproject.toml index 1c79c9e5..5b8d937d 100644 --- a/app/scheduler/pyproject.toml +++ b/app/scheduler/pyproject.toml @@ -29,8 +29,8 @@ grpcio = "^1.35.0" chainsail-grpc = { path = "../../lib/grpc", develop = true } firebase-admin = "^4.5.2" uWSGI = "^2.0.20" -cloudstorage = {extras = ["google"], version = "^0.11.0"} -kubernetes = "^18.20.0" +# cloudstorage = {extras = ["google"], version = "^0.11.0"} +kubernetes = "^26.1.0" boto3 = "^1.20.26" botocore = "1.31.8" setuptools = "*" diff --git a/app/user_code_server/chainsail/user_code_server/__init__.py b/app/user_code_server/chainsail/user_code_server/__init__.py index 3bae9863..99fbe316 100644 --- a/app/user_code_server/chainsail/user_code_server/__init__.py +++ b/app/user_code_server/chainsail/user_code_server/__init__.py @@ -16,7 +16,6 @@ logger = logging.getLogger("chainsail.controller") pdf, initial_states = import_from_user() - class UserCodeServicer(user_code_pb2_grpc.UserCodeServicer): def LogProb(self, request, context): state = np.frombuffer(request.state_bytes) @@ -50,6 +49,17 @@ def InitialState(self, request, context): return user_code_pb2.InitialStateResponse(initial_state_bytes=initial_states.tobytes()) +class HealthServicer(user_code_pb2_grpc.HealthServicer): + def Check(self, request, context): + pdf.log_prob_gradient(initial_states) + return user_code_pb2.HealthCheckResponse(status=user_code_pb2.HealthCheckResponse.SERVING) + + def Watch(self, request, context): + pdf.log_prob_gradient(initial_states) + return user_code_pb2.HealthCheckResponse(status=user_code_pb2.HealthCheckResponse.SERVING) + + + @click.command() @click.option( "--port", @@ -66,9 +76,10 @@ def InitialState(self, request, context): def run(port, remote_logging_config): # Configure logging configure_logging("chainsail.controller", "DEBUG", remote_logging_config) - logger.debug("Starting user code gRPC server") - server = grpc.server(futures.ThreadPoolExecutor(max_workers=1)) + + server = grpc.server(futures.ThreadPoolExecutor(max_workers=2)) + user_code_pb2_grpc.add_HealthServicer_to_server(HealthServicer(), server) user_code_pb2_grpc.add_UserCodeServicer_to_server(UserCodeServicer(), server) server.add_insecure_port(f"[::]:{port}") server.start() diff --git a/docker/scheduler/Dockerfile b/docker/scheduler/Dockerfile index 59223f60..72295c31 100644 --- a/docker/scheduler/Dockerfile +++ b/docker/scheduler/Dockerfile @@ -1,7 +1,7 @@ ############################################################################## # BASE ############################################################################## -FROM python:3.8.7-slim as base +FROM python:3.9-slim as base # Set up required directories RUN mkdir -p /app/deps && mkdir -p /run/sshd diff --git a/docker/user-code/Dockerfile b/docker/user-code/Dockerfile index 8782ff45..1f116acd 100644 --- a/docker/user-code/Dockerfile +++ b/docker/user-code/Dockerfile @@ -1,7 +1,7 @@ ############################################################################## # BASE ############################################################################## -FROM python:3.8.7-slim as base +FROM python:3.9-slim as base # Set up required directories RUN mkdir -p /app/deps && mkdir -p /run/sshd diff --git a/lib/grpc/chainsail/grpc/health_checking_pb2.py b/lib/grpc/chainsail/grpc/health_checking_pb2.py index 82188f81..ef810da9 100644 --- a/lib/grpc/chainsail/grpc/health_checking_pb2.py +++ b/lib/grpc/chainsail/grpc/health_checking_pb2.py @@ -2,57 +2,30 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: health-checking.proto """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database - # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\n\x15health-checking.proto"%\n\x12HealthCheckRequest\x12\x0f\n\x07service\x18\x01 \x01(\t"\x9e\x01\n\x13HealthCheckResponse\x12\x32\n\x06status\x18\x01 \x01(\x0e\x32".HealthCheckResponse.ServingStatus"S\n\rServingStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SERVING\x10\x01\x12\x0f\n\x0bNOT_SERVING\x10\x02\x12\x0b\n\x07SUCCESS\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x32r\n\x06Health\x12\x32\n\x05\x43heck\x12\x13.HealthCheckRequest\x1a\x14.HealthCheckResponse\x12\x34\n\x05Watch\x12\x13.HealthCheckRequest\x1a\x14.HealthCheckResponse0\x01\x62\x06proto3' -) - -_HEALTHCHECKREQUEST = DESCRIPTOR.message_types_by_name["HealthCheckRequest"] -_HEALTHCHECKRESPONSE = DESCRIPTOR.message_types_by_name["HealthCheckResponse"] -_HEALTHCHECKRESPONSE_SERVINGSTATUS = _HEALTHCHECKRESPONSE.enum_types_by_name["ServingStatus"] -HealthCheckRequest = _reflection.GeneratedProtocolMessageType( - "HealthCheckRequest", - (_message.Message,), - { - "DESCRIPTOR": _HEALTHCHECKREQUEST, - "__module__": "health_checking_pb2" - # @@protoc_insertion_point(class_scope:HealthCheckRequest) - }, -) -_sym_db.RegisterMessage(HealthCheckRequest) -HealthCheckResponse = _reflection.GeneratedProtocolMessageType( - "HealthCheckResponse", - (_message.Message,), - { - "DESCRIPTOR": _HEALTHCHECKRESPONSE, - "__module__": "health_checking_pb2" - # @@protoc_insertion_point(class_scope:HealthCheckResponse) - }, -) -_sym_db.RegisterMessage(HealthCheckResponse) +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15health-checking.proto\"%\n\x12HealthCheckRequest\x12\x0f\n\x07service\x18\x01 \x01(\t\"\x9e\x01\n\x13HealthCheckResponse\x12\x32\n\x06status\x18\x01 \x01(\x0e\x32\".HealthCheckResponse.ServingStatus\"S\n\rServingStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SERVING\x10\x01\x12\x0f\n\x0bNOT_SERVING\x10\x02\x12\x0b\n\x07SUCCESS\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x32r\n\x06Health\x12\x32\n\x05\x43heck\x12\x13.HealthCheckRequest\x1a\x14.HealthCheckResponse\x12\x34\n\x05Watch\x12\x13.HealthCheckRequest\x1a\x14.HealthCheckResponse0\x01\x62\x06proto3') -_HEALTH = DESCRIPTOR.services_by_name["Health"] +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'health_checking_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - _HEALTHCHECKREQUEST._serialized_start = 25 - _HEALTHCHECKREQUEST._serialized_end = 62 - _HEALTHCHECKRESPONSE._serialized_start = 65 - _HEALTHCHECKRESPONSE._serialized_end = 223 - _HEALTHCHECKRESPONSE_SERVINGSTATUS._serialized_start = 140 - _HEALTHCHECKRESPONSE_SERVINGSTATUS._serialized_end = 223 - _HEALTH._serialized_start = 225 - _HEALTH._serialized_end = 339 + DESCRIPTOR._options = None + _HEALTHCHECKREQUEST._serialized_start=25 + _HEALTHCHECKREQUEST._serialized_end=62 + _HEALTHCHECKRESPONSE._serialized_start=65 + _HEALTHCHECKRESPONSE._serialized_end=223 + _HEALTHCHECKRESPONSE_SERVINGSTATUS._serialized_start=140 + _HEALTHCHECKRESPONSE_SERVINGSTATUS._serialized_end=223 + _HEALTH._serialized_start=225 + _HEALTH._serialized_end=339 # @@protoc_insertion_point(module_scope) diff --git a/lib/grpc/chainsail/grpc/health_checking_pb2_grpc.py b/lib/grpc/chainsail/grpc/health_checking_pb2_grpc.py index 29e088e0..1d9a6e8c 100644 --- a/lib/grpc/chainsail/grpc/health_checking_pb2_grpc.py +++ b/lib/grpc/chainsail/grpc/health_checking_pb2_grpc.py @@ -15,15 +15,15 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.Check = channel.unary_unary( - "/Health/Check", - request_serializer=health__checking__pb2.HealthCheckRequest.SerializeToString, - response_deserializer=health__checking__pb2.HealthCheckResponse.FromString, - ) + '/Health/Check', + request_serializer=health__checking__pb2.HealthCheckRequest.SerializeToString, + response_deserializer=health__checking__pb2.HealthCheckResponse.FromString, + ) self.Watch = channel.unary_stream( - "/Health/Watch", - request_serializer=health__checking__pb2.HealthCheckRequest.SerializeToString, - response_deserializer=health__checking__pb2.HealthCheckResponse.FromString, - ) + '/Health/Watch', + request_serializer=health__checking__pb2.HealthCheckRequest.SerializeToString, + response_deserializer=health__checking__pb2.HealthCheckResponse.FromString, + ) class HealthServicer(object): @@ -32,91 +32,68 @@ class HealthServicer(object): def Check(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def Watch(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_HealthServicer_to_server(servicer, server): rpc_method_handlers = { - "Check": grpc.unary_unary_rpc_method_handler( - servicer.Check, - request_deserializer=health__checking__pb2.HealthCheckRequest.FromString, - response_serializer=health__checking__pb2.HealthCheckResponse.SerializeToString, - ), - "Watch": grpc.unary_stream_rpc_method_handler( - servicer.Watch, - request_deserializer=health__checking__pb2.HealthCheckRequest.FromString, - response_serializer=health__checking__pb2.HealthCheckResponse.SerializeToString, - ), + 'Check': grpc.unary_unary_rpc_method_handler( + servicer.Check, + request_deserializer=health__checking__pb2.HealthCheckRequest.FromString, + response_serializer=health__checking__pb2.HealthCheckResponse.SerializeToString, + ), + 'Watch': grpc.unary_stream_rpc_method_handler( + servicer.Watch, + request_deserializer=health__checking__pb2.HealthCheckRequest.FromString, + response_serializer=health__checking__pb2.HealthCheckResponse.SerializeToString, + ), } - generic_handler = grpc.method_handlers_generic_handler("Health", rpc_method_handlers) + generic_handler = grpc.method_handlers_generic_handler( + 'Health', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) -# This class is part of an EXPERIMENTAL API. + # This class is part of an EXPERIMENTAL API. class Health(object): """Missing associated documentation comment in .proto file.""" @staticmethod - def Check( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_unary( - request, + def Check(request, target, - "/Health/Check", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/Health/Check', health__checking__pb2.HealthCheckRequest.SerializeToString, health__checking__pb2.HealthCheckResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def Watch( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_stream( - request, + def Watch(request, target, - "/Health/Watch", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/Health/Watch', health__checking__pb2.HealthCheckRequest.SerializeToString, health__checking__pb2.HealthCheckResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/lib/grpc/chainsail/grpc/user_code_pb2.py b/lib/grpc/chainsail/grpc/user_code_pb2.py index 550b5682..68052edc 100644 --- a/lib/grpc/chainsail/grpc/user_code_pb2.py +++ b/lib/grpc/chainsail/grpc/user_code_pb2.py @@ -2,222 +2,60 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: user-code.proto """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database - # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\n\x0fuser-code.proto"5\n\x0eLogProbRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05"*\n\x0fLogProbResponse\x12\x17\n\x0flog_prob_result\x18\x01 \x01(\x02"=\n\x16LogProbGradientRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05"1\n\x17LogProbGradientResponse\x12\x16\n\x0egradient_bytes\x18\x01 \x01(\x0c";\n\x14LogLikelihoodRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05"6\n\x15LogLikelihoodResponse\x12\x1d\n\x15log_likelihood_result\x18\x01 \x01(\x02"C\n\x1cLogLikelihoodGradientRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05"7\n\x1dLogLikelihoodGradientResponse\x12\x16\n\x0egradient_bytes\x18\x01 \x01(\x0c"6\n\x0fLogPriorRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05",\n\x10LogPriorResponse\x12\x18\n\x10log_prior_result\x18\x01 \x01(\x02">\n\x17LogPriorGradientRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05"2\n\x18LogPriorGradientResponse\x12\x16\n\x0egradient_bytes\x18\x01 \x01(\x0c"%\n\x13InitialStateRequest\x12\x0e\n\x06job_id\x18\x01 \x01(\x05"3\n\x14InitialStateResponse\x12\x1b\n\x13initial_state_bytes\x18\x01 \x01(\x0c\x32\xcd\x03\n\x08UserCode\x12,\n\x07LogProb\x12\x0f.LogProbRequest\x1a\x10.LogProbResponse\x12\x44\n\x0fLogProbGradient\x12\x17.LogProbGradientRequest\x1a\x18.LogProbGradientResponse\x12>\n\rLogLikelihood\x12\x15.LogLikelihoodRequest\x1a\x16.LogLikelihoodResponse\x12V\n\x15LogLikelihoodGradient\x12\x1d.LogLikelihoodGradientRequest\x1a\x1e.LogLikelihoodGradientResponse\x12/\n\x08LogPrior\x12\x10.LogPriorRequest\x1a\x11.LogPriorResponse\x12G\n\x10LogPriorGradient\x12\x18.LogPriorGradientRequest\x1a\x19.LogPriorGradientResponse\x12;\n\x0cInitialState\x12\x14.InitialStateRequest\x1a\x15.InitialStateResponseb\x06proto3' -) - - -_LOGPROBREQUEST = DESCRIPTOR.message_types_by_name["LogProbRequest"] -_LOGPROBRESPONSE = DESCRIPTOR.message_types_by_name["LogProbResponse"] -_LOGPROBGRADIENTREQUEST = DESCRIPTOR.message_types_by_name["LogProbGradientRequest"] -_LOGPROBGRADIENTRESPONSE = DESCRIPTOR.message_types_by_name["LogProbGradientResponse"] -_LOGLIKELIHOODREQUEST = DESCRIPTOR.message_types_by_name["LogLikelihoodRequest"] -_LOGLIKELIHOODRESPONSE = DESCRIPTOR.message_types_by_name["LogLikelihoodResponse"] -_LOGLIKELIHOODGRADIENTREQUEST = DESCRIPTOR.message_types_by_name["LogLikelihoodGradientRequest"] -_LOGLIKELIHOODGRADIENTRESPONSE = DESCRIPTOR.message_types_by_name["LogLikelihoodGradientResponse"] -_LOGPRIORREQUEST = DESCRIPTOR.message_types_by_name["LogPriorRequest"] -_LOGPRIORRESPONSE = DESCRIPTOR.message_types_by_name["LogPriorResponse"] -_LOGPRIORGRADIENTREQUEST = DESCRIPTOR.message_types_by_name["LogPriorGradientRequest"] -_LOGPRIORGRADIENTRESPONSE = DESCRIPTOR.message_types_by_name["LogPriorGradientResponse"] -_INITIALSTATEREQUEST = DESCRIPTOR.message_types_by_name["InitialStateRequest"] -_INITIALSTATERESPONSE = DESCRIPTOR.message_types_by_name["InitialStateResponse"] -LogProbRequest = _reflection.GeneratedProtocolMessageType( - "LogProbRequest", - (_message.Message,), - { - "DESCRIPTOR": _LOGPROBREQUEST, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogProbRequest) - }, -) -_sym_db.RegisterMessage(LogProbRequest) - -LogProbResponse = _reflection.GeneratedProtocolMessageType( - "LogProbResponse", - (_message.Message,), - { - "DESCRIPTOR": _LOGPROBRESPONSE, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogProbResponse) - }, -) -_sym_db.RegisterMessage(LogProbResponse) - -LogProbGradientRequest = _reflection.GeneratedProtocolMessageType( - "LogProbGradientRequest", - (_message.Message,), - { - "DESCRIPTOR": _LOGPROBGRADIENTREQUEST, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogProbGradientRequest) - }, -) -_sym_db.RegisterMessage(LogProbGradientRequest) - -LogProbGradientResponse = _reflection.GeneratedProtocolMessageType( - "LogProbGradientResponse", - (_message.Message,), - { - "DESCRIPTOR": _LOGPROBGRADIENTRESPONSE, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogProbGradientResponse) - }, -) -_sym_db.RegisterMessage(LogProbGradientResponse) - -LogLikelihoodRequest = _reflection.GeneratedProtocolMessageType( - "LogLikelihoodRequest", - (_message.Message,), - { - "DESCRIPTOR": _LOGLIKELIHOODREQUEST, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogLikelihoodRequest) - }, -) -_sym_db.RegisterMessage(LogLikelihoodRequest) - -LogLikelihoodResponse = _reflection.GeneratedProtocolMessageType( - "LogLikelihoodResponse", - (_message.Message,), - { - "DESCRIPTOR": _LOGLIKELIHOODRESPONSE, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogLikelihoodResponse) - }, -) -_sym_db.RegisterMessage(LogLikelihoodResponse) - -LogLikelihoodGradientRequest = _reflection.GeneratedProtocolMessageType( - "LogLikelihoodGradientRequest", - (_message.Message,), - { - "DESCRIPTOR": _LOGLIKELIHOODGRADIENTREQUEST, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogLikelihoodGradientRequest) - }, -) -_sym_db.RegisterMessage(LogLikelihoodGradientRequest) - -LogLikelihoodGradientResponse = _reflection.GeneratedProtocolMessageType( - "LogLikelihoodGradientResponse", - (_message.Message,), - { - "DESCRIPTOR": _LOGLIKELIHOODGRADIENTRESPONSE, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogLikelihoodGradientResponse) - }, -) -_sym_db.RegisterMessage(LogLikelihoodGradientResponse) - -LogPriorRequest = _reflection.GeneratedProtocolMessageType( - "LogPriorRequest", - (_message.Message,), - { - "DESCRIPTOR": _LOGPRIORREQUEST, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogPriorRequest) - }, -) -_sym_db.RegisterMessage(LogPriorRequest) - -LogPriorResponse = _reflection.GeneratedProtocolMessageType( - "LogPriorResponse", - (_message.Message,), - { - "DESCRIPTOR": _LOGPRIORRESPONSE, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogPriorResponse) - }, -) -_sym_db.RegisterMessage(LogPriorResponse) - -LogPriorGradientRequest = _reflection.GeneratedProtocolMessageType( - "LogPriorGradientRequest", - (_message.Message,), - { - "DESCRIPTOR": _LOGPRIORGRADIENTREQUEST, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogPriorGradientRequest) - }, -) -_sym_db.RegisterMessage(LogPriorGradientRequest) - -LogPriorGradientResponse = _reflection.GeneratedProtocolMessageType( - "LogPriorGradientResponse", - (_message.Message,), - { - "DESCRIPTOR": _LOGPRIORGRADIENTRESPONSE, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:LogPriorGradientResponse) - }, -) -_sym_db.RegisterMessage(LogPriorGradientResponse) -InitialStateRequest = _reflection.GeneratedProtocolMessageType( - "InitialStateRequest", - (_message.Message,), - { - "DESCRIPTOR": _INITIALSTATEREQUEST, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:InitialStateRequest) - }, -) -_sym_db.RegisterMessage(InitialStateRequest) -InitialStateResponse = _reflection.GeneratedProtocolMessageType( - "InitialStateResponse", - (_message.Message,), - { - "DESCRIPTOR": _INITIALSTATERESPONSE, - "__module__": "user_code_pb2" - # @@protoc_insertion_point(class_scope:InitialStateResponse) - }, -) -_sym_db.RegisterMessage(InitialStateResponse) +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fuser-code.proto\x12\x0egrpc.health.v1\"5\n\x0eLogProbRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05\"*\n\x0fLogProbResponse\x12\x17\n\x0flog_prob_result\x18\x01 \x01(\x02\"=\n\x16LogProbGradientRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05\"1\n\x17LogProbGradientResponse\x12\x16\n\x0egradient_bytes\x18\x01 \x01(\x0c\";\n\x14LogLikelihoodRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05\"6\n\x15LogLikelihoodResponse\x12\x1d\n\x15log_likelihood_result\x18\x01 \x01(\x02\"C\n\x1cLogLikelihoodGradientRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05\"7\n\x1dLogLikelihoodGradientResponse\x12\x16\n\x0egradient_bytes\x18\x01 \x01(\x0c\"6\n\x0fLogPriorRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05\",\n\x10LogPriorResponse\x12\x18\n\x10log_prior_result\x18\x01 \x01(\x02\">\n\x17LogPriorGradientRequest\x12\x13\n\x0bstate_bytes\x18\x01 \x01(\x0c\x12\x0e\n\x06job_id\x18\x02 \x01(\x05\"2\n\x18LogPriorGradientResponse\x12\x16\n\x0egradient_bytes\x18\x01 \x01(\x0c\"%\n\x13InitialStateRequest\x12\x0e\n\x06job_id\x18\x01 \x01(\x05\"3\n\x14InitialStateResponse\x12\x1b\n\x13initial_state_bytes\x18\x01 \x01(\x0c\"%\n\x12HealthCheckRequest\x12\x0f\n\x07service\x18\x01 \x01(\t\"\xad\x01\n\x13HealthCheckResponse\x12\x41\n\x06status\x18\x01 \x01(\x0e\x32\x31.grpc.health.v1.HealthCheckResponse.ServingStatus\"S\n\rServingStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SERVING\x10\x01\x12\x0f\n\x0bNOT_SERVING\x10\x02\x12\x0b\n\x07SUCCESS\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x32\x9f\x05\n\x08UserCode\x12J\n\x07LogProb\x12\x1e.grpc.health.v1.LogProbRequest\x1a\x1f.grpc.health.v1.LogProbResponse\x12\x62\n\x0fLogProbGradient\x12&.grpc.health.v1.LogProbGradientRequest\x1a\'.grpc.health.v1.LogProbGradientResponse\x12\\\n\rLogLikelihood\x12$.grpc.health.v1.LogLikelihoodRequest\x1a%.grpc.health.v1.LogLikelihoodResponse\x12t\n\x15LogLikelihoodGradient\x12,.grpc.health.v1.LogLikelihoodGradientRequest\x1a-.grpc.health.v1.LogLikelihoodGradientResponse\x12M\n\x08LogPrior\x12\x1f.grpc.health.v1.LogPriorRequest\x1a .grpc.health.v1.LogPriorResponse\x12\x65\n\x10LogPriorGradient\x12\'.grpc.health.v1.LogPriorGradientRequest\x1a(.grpc.health.v1.LogPriorGradientResponse\x12Y\n\x0cInitialState\x12#.grpc.health.v1.InitialStateRequest\x1a$.grpc.health.v1.InitialStateResponse2\xae\x01\n\x06Health\x12P\n\x05\x43heck\x12\".grpc.health.v1.HealthCheckRequest\x1a#.grpc.health.v1.HealthCheckResponse\x12R\n\x05Watch\x12\".grpc.health.v1.HealthCheckRequest\x1a#.grpc.health.v1.HealthCheckResponse0\x01\x62\x06proto3') -_USERCODE = DESCRIPTOR.services_by_name["UserCode"] +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'user_code_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - _LOGPROBREQUEST._serialized_start = 19 - _LOGPROBREQUEST._serialized_end = 72 - _LOGPROBRESPONSE._serialized_start = 74 - _LOGPROBRESPONSE._serialized_end = 116 - _LOGPROBGRADIENTREQUEST._serialized_start = 118 - _LOGPROBGRADIENTREQUEST._serialized_end = 179 - _LOGPROBGRADIENTRESPONSE._serialized_start = 181 - _LOGPROBGRADIENTRESPONSE._serialized_end = 230 - _LOGLIKELIHOODREQUEST._serialized_start = 232 - _LOGLIKELIHOODREQUEST._serialized_end = 291 - _LOGLIKELIHOODRESPONSE._serialized_start = 293 - _LOGLIKELIHOODRESPONSE._serialized_end = 347 - _LOGLIKELIHOODGRADIENTREQUEST._serialized_start = 349 - _LOGLIKELIHOODGRADIENTREQUEST._serialized_end = 416 - _LOGLIKELIHOODGRADIENTRESPONSE._serialized_start = 418 - _LOGLIKELIHOODGRADIENTRESPONSE._serialized_end = 473 - _LOGPRIORREQUEST._serialized_start = 475 - _LOGPRIORREQUEST._serialized_end = 529 - _LOGPRIORRESPONSE._serialized_start = 531 - _LOGPRIORRESPONSE._serialized_end = 575 - _LOGPRIORGRADIENTREQUEST._serialized_start = 577 - _LOGPRIORGRADIENTREQUEST._serialized_end = 639 - _LOGPRIORGRADIENTRESPONSE._serialized_start = 641 - _LOGPRIORGRADIENTRESPONSE._serialized_end = 691 - _INITIALSTATEREQUEST._serialized_start = 693 - _INITIALSTATEREQUEST._serialized_end = 730 - _INITIALSTATERESPONSE._serialized_start = 732 - _INITIALSTATERESPONSE._serialized_end = 783 - _USERCODE._serialized_start = 786 - _USERCODE._serialized_end = 1247 + DESCRIPTOR._options = None + _LOGPROBREQUEST._serialized_start=35 + _LOGPROBREQUEST._serialized_end=88 + _LOGPROBRESPONSE._serialized_start=90 + _LOGPROBRESPONSE._serialized_end=132 + _LOGPROBGRADIENTREQUEST._serialized_start=134 + _LOGPROBGRADIENTREQUEST._serialized_end=195 + _LOGPROBGRADIENTRESPONSE._serialized_start=197 + _LOGPROBGRADIENTRESPONSE._serialized_end=246 + _LOGLIKELIHOODREQUEST._serialized_start=248 + _LOGLIKELIHOODREQUEST._serialized_end=307 + _LOGLIKELIHOODRESPONSE._serialized_start=309 + _LOGLIKELIHOODRESPONSE._serialized_end=363 + _LOGLIKELIHOODGRADIENTREQUEST._serialized_start=365 + _LOGLIKELIHOODGRADIENTREQUEST._serialized_end=432 + _LOGLIKELIHOODGRADIENTRESPONSE._serialized_start=434 + _LOGLIKELIHOODGRADIENTRESPONSE._serialized_end=489 + _LOGPRIORREQUEST._serialized_start=491 + _LOGPRIORREQUEST._serialized_end=545 + _LOGPRIORRESPONSE._serialized_start=547 + _LOGPRIORRESPONSE._serialized_end=591 + _LOGPRIORGRADIENTREQUEST._serialized_start=593 + _LOGPRIORGRADIENTREQUEST._serialized_end=655 + _LOGPRIORGRADIENTRESPONSE._serialized_start=657 + _LOGPRIORGRADIENTRESPONSE._serialized_end=707 + _INITIALSTATEREQUEST._serialized_start=709 + _INITIALSTATEREQUEST._serialized_end=746 + _INITIALSTATERESPONSE._serialized_start=748 + _INITIALSTATERESPONSE._serialized_end=799 + _HEALTHCHECKREQUEST._serialized_start=801 + _HEALTHCHECKREQUEST._serialized_end=838 + _HEALTHCHECKRESPONSE._serialized_start=841 + _HEALTHCHECKRESPONSE._serialized_end=1014 + _HEALTHCHECKRESPONSE_SERVINGSTATUS._serialized_start=931 + _HEALTHCHECKRESPONSE_SERVINGSTATUS._serialized_end=1014 + _USERCODE._serialized_start=1017 + _USERCODE._serialized_end=1688 + _HEALTH._serialized_start=1691 + _HEALTH._serialized_end=1865 # @@protoc_insertion_point(module_scope) diff --git a/lib/grpc/chainsail/grpc/user_code_pb2_grpc.py b/lib/grpc/chainsail/grpc/user_code_pb2_grpc.py index 381dedca..c4ad3dec 100644 --- a/lib/grpc/chainsail/grpc/user_code_pb2_grpc.py +++ b/lib/grpc/chainsail/grpc/user_code_pb2_grpc.py @@ -15,40 +15,40 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.LogProb = channel.unary_unary( - "/UserCode/LogProb", - request_serializer=user__code__pb2.LogProbRequest.SerializeToString, - response_deserializer=user__code__pb2.LogProbResponse.FromString, - ) + '/grpc.health.v1.UserCode/LogProb', + request_serializer=user__code__pb2.LogProbRequest.SerializeToString, + response_deserializer=user__code__pb2.LogProbResponse.FromString, + ) self.LogProbGradient = channel.unary_unary( - "/UserCode/LogProbGradient", - request_serializer=user__code__pb2.LogProbGradientRequest.SerializeToString, - response_deserializer=user__code__pb2.LogProbGradientResponse.FromString, - ) + '/grpc.health.v1.UserCode/LogProbGradient', + request_serializer=user__code__pb2.LogProbGradientRequest.SerializeToString, + response_deserializer=user__code__pb2.LogProbGradientResponse.FromString, + ) self.LogLikelihood = channel.unary_unary( - "/UserCode/LogLikelihood", - request_serializer=user__code__pb2.LogLikelihoodRequest.SerializeToString, - response_deserializer=user__code__pb2.LogLikelihoodResponse.FromString, - ) + '/grpc.health.v1.UserCode/LogLikelihood', + request_serializer=user__code__pb2.LogLikelihoodRequest.SerializeToString, + response_deserializer=user__code__pb2.LogLikelihoodResponse.FromString, + ) self.LogLikelihoodGradient = channel.unary_unary( - "/UserCode/LogLikelihoodGradient", - request_serializer=user__code__pb2.LogLikelihoodGradientRequest.SerializeToString, - response_deserializer=user__code__pb2.LogLikelihoodGradientResponse.FromString, - ) + '/grpc.health.v1.UserCode/LogLikelihoodGradient', + request_serializer=user__code__pb2.LogLikelihoodGradientRequest.SerializeToString, + response_deserializer=user__code__pb2.LogLikelihoodGradientResponse.FromString, + ) self.LogPrior = channel.unary_unary( - "/UserCode/LogPrior", - request_serializer=user__code__pb2.LogPriorRequest.SerializeToString, - response_deserializer=user__code__pb2.LogPriorResponse.FromString, - ) + '/grpc.health.v1.UserCode/LogPrior', + request_serializer=user__code__pb2.LogPriorRequest.SerializeToString, + response_deserializer=user__code__pb2.LogPriorResponse.FromString, + ) self.LogPriorGradient = channel.unary_unary( - "/UserCode/LogPriorGradient", - request_serializer=user__code__pb2.LogPriorGradientRequest.SerializeToString, - response_deserializer=user__code__pb2.LogPriorGradientResponse.FromString, - ) + '/grpc.health.v1.UserCode/LogPriorGradient', + request_serializer=user__code__pb2.LogPriorGradientRequest.SerializeToString, + response_deserializer=user__code__pb2.LogPriorGradientResponse.FromString, + ) self.InitialState = channel.unary_unary( - "/UserCode/InitialState", - request_serializer=user__code__pb2.InitialStateRequest.SerializeToString, - response_deserializer=user__code__pb2.InitialStateResponse.FromString, - ) + '/grpc.health.v1.UserCode/InitialState', + request_serializer=user__code__pb2.InitialStateRequest.SerializeToString, + response_deserializer=user__code__pb2.InitialStateResponse.FromString, + ) class UserCodeServicer(object): @@ -57,291 +57,302 @@ class UserCodeServicer(object): def LogProb(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def LogProbGradient(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def LogLikelihood(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def LogLikelihoodGradient(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def LogPrior(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def LogPriorGradient(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def InitialState(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details("Method not implemented!") - raise NotImplementedError("Method not implemented!") + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_UserCodeServicer_to_server(servicer, server): rpc_method_handlers = { - "LogProb": grpc.unary_unary_rpc_method_handler( - servicer.LogProb, - request_deserializer=user__code__pb2.LogProbRequest.FromString, - response_serializer=user__code__pb2.LogProbResponse.SerializeToString, - ), - "LogProbGradient": grpc.unary_unary_rpc_method_handler( - servicer.LogProbGradient, - request_deserializer=user__code__pb2.LogProbGradientRequest.FromString, - response_serializer=user__code__pb2.LogProbGradientResponse.SerializeToString, - ), - "LogLikelihood": grpc.unary_unary_rpc_method_handler( - servicer.LogLikelihood, - request_deserializer=user__code__pb2.LogLikelihoodRequest.FromString, - response_serializer=user__code__pb2.LogLikelihoodResponse.SerializeToString, - ), - "LogLikelihoodGradient": grpc.unary_unary_rpc_method_handler( - servicer.LogLikelihoodGradient, - request_deserializer=user__code__pb2.LogLikelihoodGradientRequest.FromString, - response_serializer=user__code__pb2.LogLikelihoodGradientResponse.SerializeToString, - ), - "LogPrior": grpc.unary_unary_rpc_method_handler( - servicer.LogPrior, - request_deserializer=user__code__pb2.LogPriorRequest.FromString, - response_serializer=user__code__pb2.LogPriorResponse.SerializeToString, - ), - "LogPriorGradient": grpc.unary_unary_rpc_method_handler( - servicer.LogPriorGradient, - request_deserializer=user__code__pb2.LogPriorGradientRequest.FromString, - response_serializer=user__code__pb2.LogPriorGradientResponse.SerializeToString, - ), - "InitialState": grpc.unary_unary_rpc_method_handler( - servicer.InitialState, - request_deserializer=user__code__pb2.InitialStateRequest.FromString, - response_serializer=user__code__pb2.InitialStateResponse.SerializeToString, - ), + 'LogProb': grpc.unary_unary_rpc_method_handler( + servicer.LogProb, + request_deserializer=user__code__pb2.LogProbRequest.FromString, + response_serializer=user__code__pb2.LogProbResponse.SerializeToString, + ), + 'LogProbGradient': grpc.unary_unary_rpc_method_handler( + servicer.LogProbGradient, + request_deserializer=user__code__pb2.LogProbGradientRequest.FromString, + response_serializer=user__code__pb2.LogProbGradientResponse.SerializeToString, + ), + 'LogLikelihood': grpc.unary_unary_rpc_method_handler( + servicer.LogLikelihood, + request_deserializer=user__code__pb2.LogLikelihoodRequest.FromString, + response_serializer=user__code__pb2.LogLikelihoodResponse.SerializeToString, + ), + 'LogLikelihoodGradient': grpc.unary_unary_rpc_method_handler( + servicer.LogLikelihoodGradient, + request_deserializer=user__code__pb2.LogLikelihoodGradientRequest.FromString, + response_serializer=user__code__pb2.LogLikelihoodGradientResponse.SerializeToString, + ), + 'LogPrior': grpc.unary_unary_rpc_method_handler( + servicer.LogPrior, + request_deserializer=user__code__pb2.LogPriorRequest.FromString, + response_serializer=user__code__pb2.LogPriorResponse.SerializeToString, + ), + 'LogPriorGradient': grpc.unary_unary_rpc_method_handler( + servicer.LogPriorGradient, + request_deserializer=user__code__pb2.LogPriorGradientRequest.FromString, + response_serializer=user__code__pb2.LogPriorGradientResponse.SerializeToString, + ), + 'InitialState': grpc.unary_unary_rpc_method_handler( + servicer.InitialState, + request_deserializer=user__code__pb2.InitialStateRequest.FromString, + response_serializer=user__code__pb2.InitialStateResponse.SerializeToString, + ), } - generic_handler = grpc.method_handlers_generic_handler("UserCode", rpc_method_handlers) + generic_handler = grpc.method_handlers_generic_handler( + 'grpc.health.v1.UserCode', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) -# This class is part of an EXPERIMENTAL API. + # This class is part of an EXPERIMENTAL API. class UserCode(object): """Missing associated documentation comment in .proto file.""" @staticmethod - def LogProb( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_unary( - request, + def LogProb(request, target, - "/UserCode/LogProb", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc.health.v1.UserCode/LogProb', user__code__pb2.LogProbRequest.SerializeToString, user__code__pb2.LogProbResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def LogProbGradient( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_unary( - request, + def LogProbGradient(request, target, - "/UserCode/LogProbGradient", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc.health.v1.UserCode/LogProbGradient', user__code__pb2.LogProbGradientRequest.SerializeToString, user__code__pb2.LogProbGradientResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def LogLikelihood( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_unary( - request, + def LogLikelihood(request, target, - "/UserCode/LogLikelihood", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc.health.v1.UserCode/LogLikelihood', user__code__pb2.LogLikelihoodRequest.SerializeToString, user__code__pb2.LogLikelihoodResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def LogLikelihoodGradient( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_unary( - request, + def LogLikelihoodGradient(request, target, - "/UserCode/LogLikelihoodGradient", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc.health.v1.UserCode/LogLikelihoodGradient', user__code__pb2.LogLikelihoodGradientRequest.SerializeToString, user__code__pb2.LogLikelihoodGradientResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def LogPrior( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_unary( - request, + def LogPrior(request, target, - "/UserCode/LogPrior", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc.health.v1.UserCode/LogPrior', user__code__pb2.LogPriorRequest.SerializeToString, user__code__pb2.LogPriorResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def LogPriorGradient( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_unary( - request, + def LogPriorGradient(request, target, - "/UserCode/LogPriorGradient", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc.health.v1.UserCode/LogPriorGradient', user__code__pb2.LogPriorGradientRequest.SerializeToString, user__code__pb2.LogPriorGradientResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def InitialState( - request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None, - ): - return grpc.experimental.unary_unary( - request, + def InitialState(request, target, - "/UserCode/InitialState", + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc.health.v1.UserCode/InitialState', user__code__pb2.InitialStateRequest.SerializeToString, user__code__pb2.InitialStateResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - ) + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + +class HealthStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Check = channel.unary_unary( + '/grpc.health.v1.Health/Check', + request_serializer=user__code__pb2.HealthCheckRequest.SerializeToString, + response_deserializer=user__code__pb2.HealthCheckResponse.FromString, + ) + self.Watch = channel.unary_stream( + '/grpc.health.v1.Health/Watch', + request_serializer=user__code__pb2.HealthCheckRequest.SerializeToString, + response_deserializer=user__code__pb2.HealthCheckResponse.FromString, + ) + + +class HealthServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Check(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Watch(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_HealthServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Check': grpc.unary_unary_rpc_method_handler( + servicer.Check, + request_deserializer=user__code__pb2.HealthCheckRequest.FromString, + response_serializer=user__code__pb2.HealthCheckResponse.SerializeToString, + ), + 'Watch': grpc.unary_stream_rpc_method_handler( + servicer.Watch, + request_deserializer=user__code__pb2.HealthCheckRequest.FromString, + response_serializer=user__code__pb2.HealthCheckResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'grpc.health.v1.Health', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Health(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Check(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/grpc.health.v1.Health/Check', + user__code__pb2.HealthCheckRequest.SerializeToString, + user__code__pb2.HealthCheckResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Watch(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/grpc.health.v1.Health/Watch', + user__code__pb2.HealthCheckRequest.SerializeToString, + user__code__pb2.HealthCheckResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/lib/grpc/protos/user-code.proto b/lib/grpc/protos/user-code.proto index 27f51b55..a488e40b 100644 --- a/lib/grpc/protos/user-code.proto +++ b/lib/grpc/protos/user-code.proto @@ -1,5 +1,7 @@ syntax = "proto3"; +package grpc.health.v1; + message LogProbRequest { bytes state_bytes = 1; int32 job_id = 2; @@ -62,6 +64,21 @@ message InitialStateResponse { bytes initial_state_bytes = 1; } +message HealthCheckRequest { + string service = 1; +} + +message HealthCheckResponse { + enum ServingStatus { + UNKNOWN = 0; + SERVING = 1; + NOT_SERVING = 2; + SUCCESS = 3; + FAILED = 4; + } + ServingStatus status = 1; +} + service UserCode { rpc LogProb(LogProbRequest) returns (LogProbResponse); @@ -76,4 +93,10 @@ service UserCode { rpc LogPriorGradient(LogPriorGradientRequest) returns (LogPriorGradientResponse); rpc InitialState(InitialStateRequest) returns (InitialStateResponse); -} \ No newline at end of file +} + +service Health { + rpc Check(HealthCheckRequest) returns (HealthCheckResponse); + + rpc Watch(HealthCheckRequest) returns (stream HealthCheckResponse); +}