From 45e9d93bf14ff3880679685740d7e3bafc23a1a7 Mon Sep 17 00:00:00 2001 From: APogiatzis <39923420+apogiatzis@users.noreply.github.com> Date: Wed, 24 Feb 2021 22:05:54 +0000 Subject: [PATCH] feat(api): compatibility with powergate v2 (#55) * feat(api): compatibility with powergate v2 * fix(format): codefactor fix * fix: bump docker container version * fix:debug actions * fix(test): add ipfs healthcheck * feat(test):added resource constraints * fix: add delay * fix(format): codefactor fixes --- Pipfile | 2 +- Pipfile.lock | 749 +++++++++--------- examples/config.py | 10 +- examples/deals.py | 4 +- examples/storage_info.py | 33 + examples/storage_jobs.py | 34 + examples/store_retrieve.py | 6 +- pygate_grpc/client.py | 6 +- pygate_grpc/config.py | 14 +- pygate_grpc/data.py | 17 +- pygate_grpc/decorators.py | 14 +- pygate_grpc/storage_info.py | 27 + pygate_grpc/storage_jobs.py | 18 +- pygate_grpc/types.py | 15 +- setup.py | 10 +- tests/integration/conftest.py | 19 +- tests/integration/docker/resource_limits.yaml | 11 + tests/integration/test_config.py | 13 +- tests/integration/test_data.py | 17 +- tests/integration/test_storage_info.py | 33 + 20 files changed, 645 insertions(+), 407 deletions(-) create mode 100644 examples/storage_info.py create mode 100644 examples/storage_jobs.py create mode 100644 pygate_grpc/storage_info.py create mode 100644 tests/integration/docker/resource_limits.yaml create mode 100644 tests/integration/test_storage_info.py diff --git a/Pipfile b/Pipfile index f50d3f9..1144a8f 100644 --- a/Pipfile +++ b/Pipfile @@ -33,6 +33,6 @@ lint = "bash -c \"python -m flake8\"" integration-test = "python -m pytest tests/integration/" [packages] -grpc-powergate-client = "==1.1.2" +grpc-powergate-client = "==2.1.0" mypy-extensions = "*" deprecated = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 3b1e79b..2d37088 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "9bca6501b3a59818a3fea18aff2c8665b3b3194430c759b8a852987cfc69631a" + "sha256": "48cebcabc9242f20205f86ba74f4de0771846ebed4078560762b583a465c7753" }, "pipfile-spec": 6, "requires": { @@ -18,70 +18,70 @@ "default": { "deprecated": { "hashes": [ - "sha256:525ba66fb5f90b07169fdd48b6373c18f1ee12728ca277ca44567a367d9d7f74", - "sha256:a766c1dccb30c5f6eb2b203f87edd1d8588847709c78589e1521d769addc8218" + "sha256:471ec32b2755172046e28102cd46c481f21c6036a0ec027521eba8521aa4ef35", + "sha256:924b6921f822b64ec54f49be6700a126bab0640cfafca78f22c9d429ed590560" ], "index": "pypi", - "version": "==1.2.10" + "version": "==1.2.11" }, "grpc-powergate-client": { "hashes": [ - "sha256:09ddbdba8338c943a96be9caa25407a1395ff5604a29c2af9716c54579314432", - "sha256:d98592b158e35f20742ca2386ec58e6b47797cbbd49a8801596571619f6d5f48" + "sha256:30b825d3438c03171589e5185b71f71ce9a6e52b07d653645e2558ecaf402753", + "sha256:90f2f58452008af1944303313187d08b55683ec234b62db77d213e95fc31f821" ], "index": "pypi", - "version": "==1.1.2" + "version": "==2.1.0" }, "grpcio": { "hashes": [ - "sha256:02a4a637a774382d6ac8e65c0a7af4f7f4b9704c980a0a9f4f7bbc1e97c5b733", - "sha256:08b6a58c8a83e71af5650f8f879fe14b7b84dce0c4969f3817b42c72989dacf0", - "sha256:0aeed3558a0eec0b31700af6072f1c90e8fd5701427849e76bc469554a14b4f5", - "sha256:0cebba3907441d5c620f7b491a780ed155140fbd590da0886ecfb1df6ad947b9", - "sha256:143b4fe72c01000fc0667bf62ace402a6518939b3511b3c2bec04d44b1d7591c", - "sha256:21265511880056d19ce4f809ce3fbe2a3fa98ec1fc7167dbdf30a80d3276202e", - "sha256:289671cfe441069f617bf23c41b1fa07053a31ff64de918d1016ac73adda2f73", - "sha256:2d5124284f9d29e4f06f674a12ebeb23fc16ce0f96f78a80a6036930642ae5ab", - "sha256:2f2eabfd514af8945ee415083a0f849eea6cb3af444999453bb6666fadc10f54", - "sha256:3ac453387add933b6cfbc67cc8635f91ff9895299130fc612c3c4b904e91d82a", - "sha256:407b4d869ce5c6a20af5b96bb885e3ecaf383e3fb008375919eb26cf8f10d9cd", - "sha256:4bb771c4c2411196b778871b519c7e12e87f3fa72b0517b22f952c64ead07958", - "sha256:4cef3eb2df338abd9b6164427ede961d351c6bf39b4a01448a65f9e795f56575", - "sha256:514b4a6790d6597fc95608f49f2f13fe38329b2058538095f0502b734b98ffd2", - "sha256:52143467237bfa77331ed1979dc3e203a1c12511ee37b3ddd9ff41b05804fb10", - "sha256:56e2a985efdba8e2282e856470b684e83a3cadd920f04fcd360b4b826ced0dd3", - "sha256:592656b10528aa327058d2007f7ab175dc9eb3754b289e24cac36e09129a2f6b", - "sha256:5b21d3de520a699cb631cfd3a773a57debeb36b131be366bf832153405cc5404", - "sha256:62ce7e86f11e8c4ff772e63c282fb5a7904274258be0034adf37aa679cf96ba0", - "sha256:65b06fa2db2edd1b779f9b256e270f7a58d60e40121660d8b5fd6e8b88f122ed", - "sha256:6a1b5b7e47600edcaeaa42983b1c19e7a5892c6b98bcde32ae2aa509a99e0436", - "sha256:703da25278ee7318acb766be1c6d3b67d392920d002b2d0304e7f3431b74f6c1", - "sha256:7744468ee48be3265db798f27e66e118c324d7831a34fd39d5775bcd5a70a2c4", - "sha256:7c1ea6ea6daa82031af6eb5b7d1ab56b1193840389ea7cf46d80e98636f8aff5", - "sha256:7d292dabf7ded9c062357f8207e20e94095a397d487ffd25aa213a2c3dff0ab4", - "sha256:7f727b8b6d9f92fcab19dbc62ec956d8352c6767b97b8ab18754b2dfa84d784f", - "sha256:7fda62846ef8d86caf06bd1ecfddcae2c7e59479a4ee28808120e170064d36cc", - "sha256:85e56ab125b35b1373205b3802f58119e70ffedfe0d7e2821999126058f7c44f", - "sha256:88f2a102cbc67e91f42b4323cec13348bf6255b25f80426088079872bd4f3c5c", - "sha256:89add4f4cda9546f61cb8a6988bc5b22101dd8ca4af610dff6f28105d1f78695", - "sha256:8cf67b8493bff50fa12b4bc30ab40ce1f1f216eb54145962b525852959b0ab3d", - "sha256:a8c84db387907e8d800c383e4c92f39996343adedf635ae5206a684f94df8311", - "sha256:abaf30d18874310d4439a23a0afb6e4b5709c4266966401de7c4ae345cc810ee", - "sha256:affbb739fde390710190e3540acc9f3e65df25bd192cc0aa554f368288ee0ea2", - "sha256:b412f43c99ca72769306293ba83811b241d41b62ca8f358e47e0fdaf7b6fbbd7", - "sha256:b581ddb8df619402c377c81f186ad7f5e2726ad9f8d57047144b352f83f37522", - "sha256:bf7de9e847d2d14a0efcd48b290ee181fdbffb2ae54dfa2ec2a935a093730bac", - "sha256:c5030be8a60fb18de1fc8d93d130d57e4296c02f229200df814f6578da00429e", - "sha256:c89510381cbf8c8317e14e747a8b53988ad226f0ed240824064a9297b65f921d", - "sha256:d386630af995fd4de225d550b6806507ca09f5a650f227fddb29299335cda55e", - "sha256:d51ddfb3d481a6a3439db09d4b08447fb9f6b60d862ab301238f37bea8f60a6d", - "sha256:dd47fac2878f6102efa211461eb6fa0a6dd7b4899cd1ade6cdcb9fa9748363eb", - "sha256:eff55d318a114742ed2a06972f5daacfe3d5ad0c0c0d9146bcaf10acb427e6be", - "sha256:f2673c51e8535401c68806d331faba614bcff3ee16373481158a2e74f510b7f6", - "sha256:fa78bd55ec652d4a88ba254c8dae623c9992e2ce647bd17ba1a37ca2b7b42222", - "sha256:ffec0b854d2ed6ee98776c7168c778cdd18503642a68d36c00ba0f96d4ccff7c" - ], - "version": "==1.33.2" + "sha256:0072ec4563ab4268c4c32e936955085c2d41ea175b662363496daedd2273372c", + "sha256:048c01d1eb5c2ae7cba2254b98938d2fc81f6dc10d172d9261d65266adb0fdb3", + "sha256:088c8bea0f6b596937fefacf2c8df97712e7a3dd49496975049cc95dbf02af1a", + "sha256:0f714e261e1d63615476cda4ee808a79cca62f8f09e2943c136c2f87ec5347b1", + "sha256:16fd33030944672e49e0530dec2c60cd4089659ccdf327e99569b3b29246a0b6", + "sha256:1757e81c09132851e85495b802fe4d4fbef3547e77fa422a62fb4f7d51785be0", + "sha256:17940a7dc461066f28816df48be44f24d3b9f150db344308ee2aeae033e1af0b", + "sha256:18ad7644e23757420ea839ac476ef861e4f4841c8566269b7c91c100ca1943b3", + "sha256:1aa53f82362c7f2791fe0cdd9a3b3aec325c11d8f0dfde600f91907dfaa8546b", + "sha256:22edfc278070d54f3ab7f741904e09155a272fe934e842babbf84476868a50de", + "sha256:2f8e8d35d4799aa1627a212dbe8546594abf4064056415c31bd1b3b8f2a62027", + "sha256:35b72884e09cbc46c564091f4545a39fa66d132c5676d1a6e827517fff47f2c1", + "sha256:399ee377b312ac652b07ef4365bbbba009da361fa7708c4d3d4ce383a1534ea7", + "sha256:3e7d4428ed752fdfe2dddf2a404c93d3a2f62bf4b9109c0c10a850c698948891", + "sha256:44aaa6148d18a8e836f99dadcdec17b27bc7ec0995b2cc12c94e61826040ec90", + "sha256:6ba3d7acf70acde9ce27e22921db921b84a71be578b32739536c32377b65041a", + "sha256:75ea903edc42a8c6ec61dbc5f453febd79d8bdec0e1bad6df7088c34282e8c42", + "sha256:764b50ba1a15a2074cdd1a841238f2dead0a06529c495a46821fae84cb9c7342", + "sha256:7ae408780b79c9b9b91a2592abd1d7abecd05675d988ea75038580f420966b59", + "sha256:7bd0ebbb14dde78bf66a1162efd29d3393e4e943952e2f339757aa48a184645c", + "sha256:7ee7d54da9d176d3c9a0f47c04d7ff6fdc6ee1c17643caff8c33d6c8a70678a4", + "sha256:859a0ceb23d7189362cc06fe7e906e9ed5c7a8f3ac960cc04ce13fe5847d0b62", + "sha256:87147b1b306c88fe7dca7e3dff8aefd1e63d6aed86e224f9374ddf283f17d7f1", + "sha256:8a29a26b9f39701ce15aa1d5aa5e96e0b5f7028efe94f95341a4ed8dbe4bed78", + "sha256:8d08f90d72a8e8d9af087476337da76d26749617b0a092caff4e684ce267af21", + "sha256:94c3b81089a86d3c5877d22b07ebc66b5ed1d84771e24b001844e29a5b6178dd", + "sha256:95cc4d2067deced18dc807442cf8062a93389a86abf8d40741120054389d3f29", + "sha256:9e503eaf853199804a954dc628c5207e67d6c7848dcba42a997fbe718618a2b1", + "sha256:9f0da13b215068e7434b161a35d0b4e92140ffcfa33ddda9c458199ea1d7ce45", + "sha256:a36151c335280b09afd5123f3b25085027ae2b10682087a4342fb6f635b928fb", + "sha256:aca45d2ccb693c9227fbf21144891422a42dc4b76b52af8dd1d4e43afebe321d", + "sha256:acb489b7aafdcf960f1a0000a1f22b45e5b6ccdf8dba48f97617d627f4133195", + "sha256:aea3d592a7ece84739b92d212cd16037c51d84a259414f64b51c14e946611f3d", + "sha256:b180a3ec4a5d6f96d3840c83e5f8ab49afac9fa942921e361b451d7a024efb00", + "sha256:b2985f73611b637271b00d9c4f177e65cc3193269bc9760f16262b1a12757265", + "sha256:c8d0a6a58a42275c6cb616e7cb9f9fcf5eba1e809996546e561cd818b8f7cff7", + "sha256:d186a0ce291f4386e28a7042ec31c85250b0c2e25d2794b87fa3c15ff473c46c", + "sha256:da44bf613eed5d9e8df0785463e502a416de1be6e4ac31edbe99c9111abaed5f", + "sha256:dc2589370ef84eb1cc53530070d658a7011d2ee65f18806581809c11cd016136", + "sha256:dfecb2acd3acb8bb50e9aa31472c6e57171d97c1098ee67cd283a6fe7d56a926", + "sha256:e163c27d2062cd3eb07057f23f8d1330925beaba16802312b51b4bad33d74098", + "sha256:e87e55fba98ebd7b4c614dcef9940dc2a7e057ad8bba5f91554934d47319a35b", + "sha256:efb3d67405eb8030db6f27920b4be023fabfb5d4e09c34deab094a7c473a5472", + "sha256:efd896e8ca7adb2654cf014479a5e1f74e4f776b6b2c0fbf95a6c92787a6631a", + "sha256:f0c27fd16582a303e5baf6cffd9345c9ac5f855d69a51232664a0b888a77ba80", + "sha256:f3654a52f72ba28953dbe2e93208099f4903f4b3c07dc7ff4db671c92968111d" + ], + "version": "==1.35.0" }, "mypy-extensions": { "hashes": [ @@ -93,26 +93,28 @@ }, "protobuf": { "hashes": [ - "sha256:0e247612fadda953047f53301a7b0407cb0c3cb4ae25a6fde661597a04039b3c", - "sha256:0fc96785262042e4863b3f3b5c429d4636f10d90061e1840fce1baaf59b1a836", - "sha256:1c51fda1bbc9634246e7be6016d860be01747354ed7015ebe38acf4452f470d2", - "sha256:1d63eb389347293d8915fb47bee0951c7b5dab522a4a60118b9a18f33e21f8ce", - "sha256:22bcd2e284b3b1d969c12e84dc9b9a71701ec82d8ce975fdda19712e1cfd4e00", - "sha256:2a7e2fe101a7ace75e9327b9c946d247749e564a267b0515cf41dfe450b69bac", - "sha256:43b554b9e73a07ba84ed6cf25db0ff88b1e06be610b37656e292e3cbb5437472", - "sha256:4b74301b30513b1a7494d3055d95c714b560fbb630d8fb9956b6f27992c9f980", - "sha256:4e75105c9dfe13719b7293f75bd53033108f4ba03d44e71db0ec2a0e8401eafd", - "sha256:5b7a637212cc9b2bcf85dd828b1178d19efdf74dbfe1ddf8cd1b8e01fdaaa7f5", - "sha256:5e9806a43232a1fa0c9cf5da8dc06f6910d53e4390be1fa06f06454d888a9142", - "sha256:629b03fd3caae7f815b0c66b41273f6b1900a579e2ccb41ef4493a4f5fb84f3a", - "sha256:72230ed56f026dd664c21d73c5db73ebba50d924d7ba6b7c0d81a121e390406e", - "sha256:86a75477addde4918e9a1904e5c6af8d7b691f2a3f65587d73b16100fbe4c3b2", - "sha256:8971c421dbd7aad930c9bd2694122f332350b6ccb5202a8b7b06f3f1a5c41ed5", - "sha256:9616f0b65a30851e62f1713336c931fcd32c057202b7ff2cfbfca0fc7d5e3043", - "sha256:b0d5d35faeb07e22a1ddf8dce620860c8fe145426c02d1a0ae2688c6e8ede36d", - "sha256:ecc33531a213eee22ad60e0e2aaea6c8ba0021f0cce35dbf0ab03dee6e2a23a1" - ], - "version": "==3.14.0" + "sha256:03f6ee325710eb164bd85741721fbd4326c399b0ecf49dddba9172df9149c124", + "sha256:0644b70bc9d36329438de0da619e3337ab4eade784a9acc6ba8e5ed22f2e9e50", + "sha256:0938b13c2a5ad0ce2b75c19dc0c2082f721a61b97d3f11d73ee4412dfb6e06eb", + "sha256:165071fdfaf4d7ff7a70d2197bba048fb301c7b957095eedf4bf8379d904adb1", + "sha256:17a26d5a7757211ce60032f0111dd426d4e5f44145ac6e86fa241e0cffe9df17", + "sha256:28daf1c44cf11c70f3852bd13f8fc6f7f1f211abbf068ffbeb25f8e4e2f6c98b", + "sha256:3188af446c544df79525d66e2d987490053262b81226fc6fa3f00556135f7e8a", + "sha256:509fba6d57f0c1dc483f91754a33a5d8632da1bf75d87b6c127bcf0e3966fa44", + "sha256:5810e9e3851ab8aa28624bdc947f9236ce7ec2be2f63b88b373fdc92791fbf86", + "sha256:60fd96bc77293d9770d133cdbf3af9ff2373ce11d2055d2ca581db2330fe6805", + "sha256:763a9444bafd2204cdeb29be54147ce7cfae04df805161507426c215a461ae6e", + "sha256:824dbae3390fcc3ea1bf96748e6da951a601802894cf7e1465e72b4732538cab", + "sha256:a8cccf2d2df2675f10a47f963f8010516f6aff09db7d134b0b0e57422ce07f78", + "sha256:c70647b71385302efb615d25c643f1b92784201f7b4ed2d9ff472e4c869ccad5", + "sha256:d3797255e8fbf234477332864f0304222b2492dfd91e95e6314326dbf0e235e2", + "sha256:d52494780f89d1277f982c209197ce1da91d416c27ba9f4495d339ac6a3bac02", + "sha256:d7576c8b59288c5feea161d9ed74925d26759963b51f850d8eadd7a88b4e0ddf", + "sha256:de2e543ffb1701ea8fe7077ba571dbaa1980876d1817f6a70b984064dcb20e6f", + "sha256:edae67da507393f377555531cb7afa1714c75a84404f3541ef5df36ce3637768", + "sha256:f49a1721f2a3d72466aa19f095cc3fe2883b5e1868f4a1e9f51043df8ecb0140" + ], + "version": "==3.15.1" }, "six": { "hashes": [ @@ -138,10 +140,10 @@ }, "astroid": { "hashes": [ - "sha256:2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703", - "sha256:bc58d83eb610252fd8de6363e39d4f1d0619c894b0ed24603b881c02e64c7386" + "sha256:87ae7f2398b8a0ae5638ddecf9987f081b756e0e9fc071aeebdca525671fc4dc", + "sha256:b31c92f545517dcc452f284bc9c044050862fbe6d93d2b3de4a215a6b384bf0d" ], - "version": "==2.4.2" + "version": "==2.5.0" }, "attrs": { "hashes": [ @@ -172,10 +174,10 @@ }, "bleach": { "hashes": [ - "sha256:52b5919b81842b1854196eaae5ca29679a2f2e378905c346d3ca8227c2c66080", - "sha256:9f8ccbeb6183c6e6cddea37592dfb0167485c1e3b13b3363bc325aa8bda3adbd" + "sha256:6123ddc1052673e52bab52cdc955bcb57a015264a1c57d37bea2f6b817af0125", + "sha256:98b3170739e5e83dd9dc19633f074727ad848cbedb6026708c8ac2d3b697a433" ], - "version": "==3.2.1" + "version": "==3.3.0" }, "bump2version": { "hashes": [ @@ -200,58 +202,59 @@ }, "certifi": { "hashes": [ - "sha256:1f422849db327d534e3d0c5f02a263458c3955ec0aae4ff09b95f195c59f4edd", - "sha256:f05def092c44fbf25834a51509ef6e631dc19765ab8a57b4e7ab85531f0a9cf4" + "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c", + "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830" ], - "version": "==2020.11.8" + "version": "==2020.12.5" }, "cffi": { "hashes": [ - "sha256:005f2bfe11b6745d726dbb07ace4d53f057de66e336ff92d61b8c7e9c8f4777d", - "sha256:09e96138280241bd355cd585148dec04dbbedb4f46128f340d696eaafc82dd7b", - "sha256:0b1ad452cc824665ddc682400b62c9e4f5b64736a2ba99110712fdee5f2505c4", - "sha256:0ef488305fdce2580c8b2708f22d7785ae222d9825d3094ab073e22e93dfe51f", - "sha256:15f351bed09897fbda218e4db5a3d5c06328862f6198d4fb385f3e14e19decb3", - "sha256:22399ff4870fb4c7ef19fff6eeb20a8bbf15571913c181c78cb361024d574579", - "sha256:23e5d2040367322824605bc29ae8ee9175200b92cb5483ac7d466927a9b3d537", - "sha256:2791f68edc5749024b4722500e86303a10d342527e1e3bcac47f35fbd25b764e", - "sha256:2f9674623ca39c9ebe38afa3da402e9326c245f0f5ceff0623dccdac15023e05", - "sha256:3363e77a6176afb8823b6e06db78c46dbc4c7813b00a41300a4873b6ba63b171", - "sha256:33c6cdc071ba5cd6d96769c8969a0531be2d08c2628a0143a10a7dcffa9719ca", - "sha256:3b8eaf915ddc0709779889c472e553f0d3e8b7bdf62dab764c8921b09bf94522", - "sha256:3cb3e1b9ec43256c4e0f8d2837267a70b0e1ca8c4f456685508ae6106b1f504c", - "sha256:3eeeb0405fd145e714f7633a5173318bd88d8bbfc3dd0a5751f8c4f70ae629bc", - "sha256:44f60519595eaca110f248e5017363d751b12782a6f2bd6a7041cba275215f5d", - "sha256:4d7c26bfc1ea9f92084a1d75e11999e97b62d63128bcc90c3624d07813c52808", - "sha256:529c4ed2e10437c205f38f3691a68be66c39197d01062618c55f74294a4a4828", - "sha256:6642f15ad963b5092d65aed022d033c77763515fdc07095208f15d3563003869", - "sha256:85ba797e1de5b48aa5a8427b6ba62cf69607c18c5d4eb747604b7302f1ec382d", - "sha256:8f0f1e499e4000c4c347a124fa6a27d37608ced4fe9f7d45070563b7c4c370c9", - "sha256:a624fae282e81ad2e4871bdb767e2c914d0539708c0f078b5b355258293c98b0", - "sha256:b0358e6fefc74a16f745afa366acc89f979040e0cbc4eec55ab26ad1f6a9bfbc", - "sha256:bbd2f4dfee1079f76943767fce837ade3087b578aeb9f69aec7857d5bf25db15", - "sha256:bf39a9e19ce7298f1bd6a9758fa99707e9e5b1ebe5e90f2c3913a47bc548747c", - "sha256:c11579638288e53fc94ad60022ff1b67865363e730ee41ad5e6f0a17188b327a", - "sha256:c150eaa3dadbb2b5339675b88d4573c1be3cb6f2c33a6c83387e10cc0bf05bd3", - "sha256:c53af463f4a40de78c58b8b2710ade243c81cbca641e34debf3396a9640d6ec1", - "sha256:cb763ceceae04803adcc4e2d80d611ef201c73da32d8f2722e9d0ab0c7f10768", - "sha256:cc75f58cdaf043fe6a7a6c04b3b5a0e694c6a9e24050967747251fb80d7bce0d", - "sha256:d80998ed59176e8cba74028762fbd9b9153b9afc71ea118e63bbf5d4d0f9552b", - "sha256:de31b5164d44ef4943db155b3e8e17929707cac1e5bd2f363e67a56e3af4af6e", - "sha256:e66399cf0fc07de4dce4f588fc25bfe84a6d1285cc544e67987d22663393926d", - "sha256:f0620511387790860b249b9241c2f13c3a80e21a73e0b861a2df24e9d6f56730", - "sha256:f4eae045e6ab2bb54ca279733fe4eb85f1effda392666308250714e01907f394", - "sha256:f92cdecb618e5fa4658aeb97d5eb3d2f47aa94ac6477c6daf0f306c5a3b9e6b1", - "sha256:f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591" - ], - "version": "==1.14.3" + "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813", + "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06", + "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea", + "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee", + "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396", + "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73", + "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315", + "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1", + "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49", + "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892", + "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482", + "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058", + "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5", + "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53", + "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045", + "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3", + "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5", + "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e", + "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c", + "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369", + "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827", + "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053", + "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa", + "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4", + "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322", + "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132", + "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62", + "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa", + "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0", + "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396", + "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e", + "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991", + "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6", + "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1", + "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406", + "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d", + "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c" + ], + "version": "==1.14.5" }, "chardet": { "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", + "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" ], - "version": "==3.0.4" + "version": "==4.0.0" }, "click": { "hashes": [ @@ -269,30 +272,28 @@ }, "cryptography": { "hashes": [ - "sha256:07ca431b788249af92764e3be9a488aa1d39a0bc3be313d826bbec690417e538", - "sha256:13b88a0bd044b4eae1ef40e265d006e34dbcde0c2f1e15eb9896501b2d8f6c6f", - "sha256:32434673d8505b42c0de4de86da8c1620651abd24afe91ae0335597683ed1b77", - "sha256:3cd75a683b15576cfc822c7c5742b3276e50b21a06672dc3a800a2d5da4ecd1b", - "sha256:4e7268a0ca14536fecfdf2b00297d4e407da904718658c1ff1961c713f90fd33", - "sha256:545a8550782dda68f8cdc75a6e3bf252017aa8f75f19f5a9ca940772fc0cb56e", - "sha256:55d0b896631412b6f0c7de56e12eb3e261ac347fbaa5d5e705291a9016e5f8cb", - "sha256:5849d59358547bf789ee7e0d7a9036b2d29e9a4ddf1ce5e06bb45634f995c53e", - "sha256:6dc59630ecce8c1f558277ceb212c751d6730bd12c80ea96b4ac65637c4f55e7", - "sha256:7117319b44ed1842c617d0a452383a5a052ec6aa726dfbaffa8b94c910444297", - "sha256:75e8e6684cf0034f6bf2a97095cb95f81537b12b36a8fedf06e73050bb171c2d", - "sha256:7b8d9d8d3a9bd240f453342981f765346c87ade811519f98664519696f8e6ab7", - "sha256:a035a10686532b0587d58a606004aa20ad895c60c4d029afa245802347fab57b", - "sha256:a4e27ed0b2504195f855b52052eadcc9795c59909c9d84314c5408687f933fc7", - "sha256:a733671100cd26d816eed39507e585c156e4498293a907029969234e5e634bc4", - "sha256:a75f306a16d9f9afebfbedc41c8c2351d8e61e818ba6b4c40815e2b5740bb6b8", - "sha256:bd717aa029217b8ef94a7d21632a3bb5a4e7218a4513d2521c2a2fd63011e98b", - "sha256:d25cecbac20713a7c3bc544372d42d8eafa89799f492a43b79e1dfd650484851", - "sha256:d26a2557d8f9122f9bf445fc7034242f4375bd4e95ecda007667540270965b13", - "sha256:d3545829ab42a66b84a9aaabf216a4dce7f16dbc76eb69be5c302ed6b8f4a29b", - "sha256:d3d5e10be0cf2a12214ddee45c6bd203dab435e3d83b4560c03066eda600bfe3", - "sha256:efe15aca4f64f3a7ea0c09c87826490e50ed166ce67368a68f315ea0807a20df" - ], - "version": "==3.2.1" + "sha256:066bc53f052dfeda2f2d7c195cf16fb3e5ff13e1b6b7415b468514b40b381a5b", + "sha256:0923ba600d00718d63a3976f23cab19aef10c1765038945628cd9be047ad0336", + "sha256:2d32223e5b0ee02943f32b19245b61a62db83a882f0e76cc564e1cec60d48f87", + "sha256:4169a27b818de4a1860720108b55a2801f32b6ae79e7f99c00d79f2a2822eeb7", + "sha256:57ad77d32917bc55299b16d3b996ffa42a1c73c6cfa829b14043c561288d2799", + "sha256:5ecf2bcb34d17415e89b546dbb44e73080f747e504273e4d4987630493cded1b", + "sha256:600cf9bfe75e96d965509a4c0b2b183f74a4fa6f5331dcb40fb7b77b7c2484df", + "sha256:66b57a9ca4b3221d51b237094b0303843b914b7d5afd4349970bb26518e350b0", + "sha256:93cfe5b7ff006de13e1e89830810ecbd014791b042cbe5eec253be11ac2b28f3", + "sha256:9e98b452132963678e3ac6c73f7010fe53adf72209a32854d55690acac3f6724", + "sha256:df186fcbf86dc1ce56305becb8434e4b6b7504bc724b71ad7a3239e0c9d14ef2", + "sha256:fec7fb46b10da10d9e1d078d1ff8ed9e05ae14f431fdbd11145edd0550b9a964" + ], + "version": "==3.4.6" + }, + "deprecated": { + "hashes": [ + "sha256:471ec32b2755172046e28102cd46c481f21c6036a0ec027521eba8521aa4ef35", + "sha256:924b6921f822b64ec54f49be6700a126bab0640cfafca78f22c9d429ed590560" + ], + "index": "pypi", + "version": "==1.2.11" }, "distlib": { "hashes": [ @@ -313,18 +314,18 @@ "ssh" ], "hashes": [ - "sha256:13966471e8bc23b36bfb3a6fb4ab75043a5ef1dac86516274777576bed3b9828", - "sha256:bad94b8dd001a8a4af19ce4becc17f41b09f228173ffe6a4e0355389eef142f2" + "sha256:d4625e70e3d5a12d7cbf1fd68cef2e081ac86b83889e00e5466d975f90e50dad", + "sha256:de5753b7f6486dd541a98393e423e387579b8974a5068748b83f852cc76a89d6" ], "index": "pypi", - "version": "==4.3.1" + "version": "==4.4.3" }, "docker-compose": { "hashes": [ - "sha256:5a5690f24c27d4b43dcbe6b3fae91ba680713208e99ee863352b3bae37bcaa83", - "sha256:84ca2edad226435e3a378ea24ca2ca4e1a77cc7c8de057e2812124c6dcb55147" + "sha256:681aca74e70e238ae43c810a62f471b645942f0ce97b6a0ca375fcb64f3aca85", + "sha256:92375b30ab7134e8c32470b621e7cf9a3c0771ce2c20de7e1f11cd71f83a088e" ], - "version": "==1.27.4" + "version": "==1.28.4" }, "dockerpty": { "hashes": [ @@ -369,70 +370,70 @@ }, "gitpython": { "hashes": [ - "sha256:6eea89b655917b500437e9668e4a12eabdcf00229a0df1762aabd692ef9b746b", - "sha256:befa4d101f91bad1b632df4308ec64555db684c360bd7d2130b4807d49ce86b8" + "sha256:8621a7e777e276a5ec838b59280ba5272dd144a18169c36c903d8b38b99f750a", + "sha256:c5347c81d232d9b8e7f47b68a83e5dc92e7952127133c5f2df9133f2c75a1b29" ], "index": "pypi", - "version": "==3.1.11" + "version": "==3.1.13" }, "grpc-powergate-client": { "hashes": [ - "sha256:09ddbdba8338c943a96be9caa25407a1395ff5604a29c2af9716c54579314432", - "sha256:d98592b158e35f20742ca2386ec58e6b47797cbbd49a8801596571619f6d5f48" + "sha256:30b825d3438c03171589e5185b71f71ce9a6e52b07d653645e2558ecaf402753", + "sha256:90f2f58452008af1944303313187d08b55683ec234b62db77d213e95fc31f821" ], "index": "pypi", - "version": "==1.1.2" + "version": "==2.1.0" }, "grpcio": { "hashes": [ - "sha256:02a4a637a774382d6ac8e65c0a7af4f7f4b9704c980a0a9f4f7bbc1e97c5b733", - "sha256:08b6a58c8a83e71af5650f8f879fe14b7b84dce0c4969f3817b42c72989dacf0", - "sha256:0aeed3558a0eec0b31700af6072f1c90e8fd5701427849e76bc469554a14b4f5", - "sha256:0cebba3907441d5c620f7b491a780ed155140fbd590da0886ecfb1df6ad947b9", - "sha256:143b4fe72c01000fc0667bf62ace402a6518939b3511b3c2bec04d44b1d7591c", - "sha256:21265511880056d19ce4f809ce3fbe2a3fa98ec1fc7167dbdf30a80d3276202e", - "sha256:289671cfe441069f617bf23c41b1fa07053a31ff64de918d1016ac73adda2f73", - "sha256:2d5124284f9d29e4f06f674a12ebeb23fc16ce0f96f78a80a6036930642ae5ab", - "sha256:2f2eabfd514af8945ee415083a0f849eea6cb3af444999453bb6666fadc10f54", - "sha256:3ac453387add933b6cfbc67cc8635f91ff9895299130fc612c3c4b904e91d82a", - "sha256:407b4d869ce5c6a20af5b96bb885e3ecaf383e3fb008375919eb26cf8f10d9cd", - "sha256:4bb771c4c2411196b778871b519c7e12e87f3fa72b0517b22f952c64ead07958", - "sha256:4cef3eb2df338abd9b6164427ede961d351c6bf39b4a01448a65f9e795f56575", - "sha256:514b4a6790d6597fc95608f49f2f13fe38329b2058538095f0502b734b98ffd2", - "sha256:52143467237bfa77331ed1979dc3e203a1c12511ee37b3ddd9ff41b05804fb10", - "sha256:56e2a985efdba8e2282e856470b684e83a3cadd920f04fcd360b4b826ced0dd3", - "sha256:592656b10528aa327058d2007f7ab175dc9eb3754b289e24cac36e09129a2f6b", - "sha256:5b21d3de520a699cb631cfd3a773a57debeb36b131be366bf832153405cc5404", - "sha256:62ce7e86f11e8c4ff772e63c282fb5a7904274258be0034adf37aa679cf96ba0", - "sha256:65b06fa2db2edd1b779f9b256e270f7a58d60e40121660d8b5fd6e8b88f122ed", - "sha256:6a1b5b7e47600edcaeaa42983b1c19e7a5892c6b98bcde32ae2aa509a99e0436", - "sha256:703da25278ee7318acb766be1c6d3b67d392920d002b2d0304e7f3431b74f6c1", - "sha256:7744468ee48be3265db798f27e66e118c324d7831a34fd39d5775bcd5a70a2c4", - "sha256:7c1ea6ea6daa82031af6eb5b7d1ab56b1193840389ea7cf46d80e98636f8aff5", - "sha256:7d292dabf7ded9c062357f8207e20e94095a397d487ffd25aa213a2c3dff0ab4", - "sha256:7f727b8b6d9f92fcab19dbc62ec956d8352c6767b97b8ab18754b2dfa84d784f", - "sha256:7fda62846ef8d86caf06bd1ecfddcae2c7e59479a4ee28808120e170064d36cc", - "sha256:85e56ab125b35b1373205b3802f58119e70ffedfe0d7e2821999126058f7c44f", - "sha256:88f2a102cbc67e91f42b4323cec13348bf6255b25f80426088079872bd4f3c5c", - "sha256:89add4f4cda9546f61cb8a6988bc5b22101dd8ca4af610dff6f28105d1f78695", - "sha256:8cf67b8493bff50fa12b4bc30ab40ce1f1f216eb54145962b525852959b0ab3d", - "sha256:a8c84db387907e8d800c383e4c92f39996343adedf635ae5206a684f94df8311", - "sha256:abaf30d18874310d4439a23a0afb6e4b5709c4266966401de7c4ae345cc810ee", - "sha256:affbb739fde390710190e3540acc9f3e65df25bd192cc0aa554f368288ee0ea2", - "sha256:b412f43c99ca72769306293ba83811b241d41b62ca8f358e47e0fdaf7b6fbbd7", - "sha256:b581ddb8df619402c377c81f186ad7f5e2726ad9f8d57047144b352f83f37522", - "sha256:bf7de9e847d2d14a0efcd48b290ee181fdbffb2ae54dfa2ec2a935a093730bac", - "sha256:c5030be8a60fb18de1fc8d93d130d57e4296c02f229200df814f6578da00429e", - "sha256:c89510381cbf8c8317e14e747a8b53988ad226f0ed240824064a9297b65f921d", - "sha256:d386630af995fd4de225d550b6806507ca09f5a650f227fddb29299335cda55e", - "sha256:d51ddfb3d481a6a3439db09d4b08447fb9f6b60d862ab301238f37bea8f60a6d", - "sha256:dd47fac2878f6102efa211461eb6fa0a6dd7b4899cd1ade6cdcb9fa9748363eb", - "sha256:eff55d318a114742ed2a06972f5daacfe3d5ad0c0c0d9146bcaf10acb427e6be", - "sha256:f2673c51e8535401c68806d331faba614bcff3ee16373481158a2e74f510b7f6", - "sha256:fa78bd55ec652d4a88ba254c8dae623c9992e2ce647bd17ba1a37ca2b7b42222", - "sha256:ffec0b854d2ed6ee98776c7168c778cdd18503642a68d36c00ba0f96d4ccff7c" - ], - "version": "==1.33.2" + "sha256:0072ec4563ab4268c4c32e936955085c2d41ea175b662363496daedd2273372c", + "sha256:048c01d1eb5c2ae7cba2254b98938d2fc81f6dc10d172d9261d65266adb0fdb3", + "sha256:088c8bea0f6b596937fefacf2c8df97712e7a3dd49496975049cc95dbf02af1a", + "sha256:0f714e261e1d63615476cda4ee808a79cca62f8f09e2943c136c2f87ec5347b1", + "sha256:16fd33030944672e49e0530dec2c60cd4089659ccdf327e99569b3b29246a0b6", + "sha256:1757e81c09132851e85495b802fe4d4fbef3547e77fa422a62fb4f7d51785be0", + "sha256:17940a7dc461066f28816df48be44f24d3b9f150db344308ee2aeae033e1af0b", + "sha256:18ad7644e23757420ea839ac476ef861e4f4841c8566269b7c91c100ca1943b3", + "sha256:1aa53f82362c7f2791fe0cdd9a3b3aec325c11d8f0dfde600f91907dfaa8546b", + "sha256:22edfc278070d54f3ab7f741904e09155a272fe934e842babbf84476868a50de", + "sha256:2f8e8d35d4799aa1627a212dbe8546594abf4064056415c31bd1b3b8f2a62027", + "sha256:35b72884e09cbc46c564091f4545a39fa66d132c5676d1a6e827517fff47f2c1", + "sha256:399ee377b312ac652b07ef4365bbbba009da361fa7708c4d3d4ce383a1534ea7", + "sha256:3e7d4428ed752fdfe2dddf2a404c93d3a2f62bf4b9109c0c10a850c698948891", + "sha256:44aaa6148d18a8e836f99dadcdec17b27bc7ec0995b2cc12c94e61826040ec90", + "sha256:6ba3d7acf70acde9ce27e22921db921b84a71be578b32739536c32377b65041a", + "sha256:75ea903edc42a8c6ec61dbc5f453febd79d8bdec0e1bad6df7088c34282e8c42", + "sha256:764b50ba1a15a2074cdd1a841238f2dead0a06529c495a46821fae84cb9c7342", + "sha256:7ae408780b79c9b9b91a2592abd1d7abecd05675d988ea75038580f420966b59", + "sha256:7bd0ebbb14dde78bf66a1162efd29d3393e4e943952e2f339757aa48a184645c", + "sha256:7ee7d54da9d176d3c9a0f47c04d7ff6fdc6ee1c17643caff8c33d6c8a70678a4", + "sha256:859a0ceb23d7189362cc06fe7e906e9ed5c7a8f3ac960cc04ce13fe5847d0b62", + "sha256:87147b1b306c88fe7dca7e3dff8aefd1e63d6aed86e224f9374ddf283f17d7f1", + "sha256:8a29a26b9f39701ce15aa1d5aa5e96e0b5f7028efe94f95341a4ed8dbe4bed78", + "sha256:8d08f90d72a8e8d9af087476337da76d26749617b0a092caff4e684ce267af21", + "sha256:94c3b81089a86d3c5877d22b07ebc66b5ed1d84771e24b001844e29a5b6178dd", + "sha256:95cc4d2067deced18dc807442cf8062a93389a86abf8d40741120054389d3f29", + "sha256:9e503eaf853199804a954dc628c5207e67d6c7848dcba42a997fbe718618a2b1", + "sha256:9f0da13b215068e7434b161a35d0b4e92140ffcfa33ddda9c458199ea1d7ce45", + "sha256:a36151c335280b09afd5123f3b25085027ae2b10682087a4342fb6f635b928fb", + "sha256:aca45d2ccb693c9227fbf21144891422a42dc4b76b52af8dd1d4e43afebe321d", + "sha256:acb489b7aafdcf960f1a0000a1f22b45e5b6ccdf8dba48f97617d627f4133195", + "sha256:aea3d592a7ece84739b92d212cd16037c51d84a259414f64b51c14e946611f3d", + "sha256:b180a3ec4a5d6f96d3840c83e5f8ab49afac9fa942921e361b451d7a024efb00", + "sha256:b2985f73611b637271b00d9c4f177e65cc3193269bc9760f16262b1a12757265", + "sha256:c8d0a6a58a42275c6cb616e7cb9f9fcf5eba1e809996546e561cd818b8f7cff7", + "sha256:d186a0ce291f4386e28a7042ec31c85250b0c2e25d2794b87fa3c15ff473c46c", + "sha256:da44bf613eed5d9e8df0785463e502a416de1be6e4ac31edbe99c9111abaed5f", + "sha256:dc2589370ef84eb1cc53530070d658a7011d2ee65f18806581809c11cd016136", + "sha256:dfecb2acd3acb8bb50e9aa31472c6e57171d97c1098ee67cd283a6fe7d56a926", + "sha256:e163c27d2062cd3eb07057f23f8d1330925beaba16802312b51b4bad33d74098", + "sha256:e87e55fba98ebd7b4c614dcef9940dc2a7e057ad8bba5f91554934d47319a35b", + "sha256:efb3d67405eb8030db6f27920b4be023fabfb5d4e09c34deab094a7c473a5472", + "sha256:efd896e8ca7adb2654cf014479a5e1f74e4f776b6b2c0fbf95a6c92787a6631a", + "sha256:f0c27fd16582a303e5baf6cffd9345c9ac5f855d69a51232664a0b888a77ba80", + "sha256:f3654a52f72ba28953dbe2e93208099f4903f4b3c07dc7ff4db671c92968111d" + ], + "version": "==1.35.0" }, "idna": { "hashes": [ @@ -443,11 +444,11 @@ }, "importlib-metadata": { "hashes": [ - "sha256:77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da", - "sha256:cefa1a2f919b866c5beb7c9f7b0ebb4061f30a8a9bf16d609b000e2dfaceb9c3" + "sha256:2a851a30a1fd847cedd68c7c6bfb90e765db6265852f574e9d88bb40f96924ab", + "sha256:31c5c29f17d064cc71bf6a005a8b25b3332787ab2e7362d5d258800ac825f471" ], "markers": "python_version < '3.8'", - "version": "==2.0.0" + "version": "==3.5.0" }, "iniconfig": { "hashes": [ @@ -458,18 +459,18 @@ }, "isort": { "hashes": [ - "sha256:dcab1d98b469a12a1a624ead220584391648790275560e1a43e54c5dceae65e7", - "sha256:dcaeec1b5f0eca77faea2a35ab790b4f3680ff75590bfcb7145986905aab2f58" + "sha256:c729845434366216d320e936b8ad6f9d681aab72dc7cbc2d51bedc3582f3ad1e", + "sha256:fff4f0c04e1825522ce6949973e83110a6e907750cd92d128b0d14aaaadbffdc" ], "index": "pypi", - "version": "==5.6.4" + "version": "==5.7.0" }, "jeepney": { "hashes": [ - "sha256:2531d17ccfb3485d4eaee03c1a19a75f28b3ac0fbb5a1b683b77b820e5b0f509", - "sha256:e0e057fe2069a54257de32eb26cf14aac5fa90f5836f49926009a5022fb1e31a" + "sha256:7d59b6622675ca9e993a6bd38de845051d315f8b0c72cca3aef733a20b648657", + "sha256:aec56c0eb1691a841795111e184e13cad504f7703b9a64f63020816afa79a8ae" ], - "version": "==0.5.0" + "version": "==0.6.0" }, "jsonschema": { "hashes": [ @@ -488,29 +489,32 @@ }, "lazy-object-proxy": { "hashes": [ - "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d", - "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449", - "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08", - "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a", - "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50", - "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd", - "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239", - "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb", - "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea", - "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e", - "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156", - "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142", - "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442", - "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62", - "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db", - "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531", - "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383", - "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a", - "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357", - "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4", - "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0" - ], - "version": "==1.4.3" + "sha256:1d33d6f789697f401b75ce08e73b1de567b947740f768376631079290118ad39", + "sha256:2f2de8f8ac0be3e40d17730e0600619d35c78c13a099ea91ef7fb4ad944ce694", + "sha256:3782931963dc89e0e9a0ae4348b44762e868ea280e4f8c233b537852a8996ab9", + "sha256:37d9c34b96cca6787fe014aeb651217944a967a5b165e2cacb6b858d2997ab84", + "sha256:38c3865bd220bd983fcaa9aa11462619e84a71233bafd9c880f7b1cb753ca7fa", + "sha256:429c4d1862f3fc37cd56304d880f2eae5bd0da83bdef889f3bd66458aac49128", + "sha256:522b7c94b524389f4a4094c4bf04c2b02228454ddd17c1a9b2801fac1d754871", + "sha256:57fb5c5504ddd45ed420b5b6461a78f58cbb0c1b0cbd9cd5a43ad30a4a3ee4d0", + "sha256:5944a9b95e97de1980c65f03b79b356f30a43de48682b8bdd90aa5089f0ec1f4", + "sha256:6f4e5e68b7af950ed7fdb594b3f19a0014a3ace0fedb86acb896e140ffb24302", + "sha256:71a1ef23f22fa8437974b2d60fedb947c99a957ad625f83f43fd3de70f77f458", + "sha256:8a44e9901c0555f95ac401377032f6e6af66d8fc1fbfad77a7a8b1a826e0b93c", + "sha256:b6577f15d5516d7d209c1a8cde23062c0f10625f19e8dc9fb59268859778d7d7", + "sha256:c8fe2d6ff0ff583784039d0255ea7da076efd08507f2be6f68583b0da32e3afb", + "sha256:cadfa2c2cf54d35d13dc8d231253b7985b97d629ab9ca6e7d672c35539d38163", + "sha256:cd1bdace1a8762534e9a36c073cd54e97d517a17d69a17985961265be6d22847", + "sha256:ddbdcd10eb999d7ab292677f588b658372aadb9a52790f82484a37127a390108", + "sha256:e7273c64bccfd9310e9601b8f4511d84730239516bada26a0c9846c9697617ef", + "sha256:e7428977763150b4cf83255625a80a23dfdc94d43be7791ce90799d446b4e26f", + "sha256:e960e8be509e8d6d618300a6c189555c24efde63e85acaf0b14b2cd1ac743315", + "sha256:ecb5dd5990cec6e7f5c9c1124a37cb2c710c6d69b0c1a5c4aa4b35eba0ada068", + "sha256:ef3f5e288aa57b73b034ce9c1f1ac753d968f9069cd0742d1d69c698a0167166", + "sha256:fa5b2dee0e231fa4ad117be114251bdfe6afe39213bd629d43deb117b6a6c40a", + "sha256:fa7fb7973c622b9e725bee1db569d2c2ee64d2f9a089201c5e8185d482c7352d" + ], + "version": "==1.5.2" }, "mccabe": { "hashes": [ @@ -521,23 +525,31 @@ }, "mypy": { "hashes": [ - "sha256:0a0d102247c16ce93c97066443d11e2d36e6cc2a32d8ccc1f705268970479324", - "sha256:0d34d6b122597d48a36d6c59e35341f410d4abfa771d96d04ae2c468dd201abc", - "sha256:2170492030f6faa537647d29945786d297e4862765f0b4ac5930ff62e300d802", - "sha256:2842d4fbd1b12ab422346376aad03ff5d0805b706102e475e962370f874a5122", - "sha256:2b21ba45ad9ef2e2eb88ce4aeadd0112d0f5026418324176fd494a6824b74975", - "sha256:72060bf64f290fb629bd4a67c707a66fd88ca26e413a91384b18db3876e57ed7", - "sha256:af4e9ff1834e565f1baa74ccf7ae2564ae38c8df2a85b057af1dbbc958eb6666", - "sha256:bd03b3cf666bff8d710d633d1c56ab7facbdc204d567715cb3b9f85c6e94f669", - "sha256:c614194e01c85bb2e551c421397e49afb2872c88b5830e3554f0519f9fb1c178", - "sha256:cf4e7bf7f1214826cf7333627cb2547c0db7e3078723227820d0a2490f117a01", - "sha256:da56dedcd7cd502ccd3c5dddc656cb36113dd793ad466e894574125945653cea", - "sha256:e86bdace26c5fe9cf8cb735e7cedfe7850ad92b327ac5d797c656717d2ca66de", - "sha256:e97e9c13d67fbe524be17e4d8025d51a7dca38f90de2e462243ab8ed8a9178d1", - "sha256:eea260feb1830a627fb526d22fbb426b750d9f5a47b624e8d5e7e004359b219c" + "sha256:0d0a87c0e7e3a9becdfbe936c981d32e5ee0ccda3e0f07e1ef2c3d1a817cf73e", + "sha256:25adde9b862f8f9aac9d2d11971f226bd4c8fbaa89fb76bdadb267ef22d10064", + "sha256:28fb5479c494b1bab244620685e2eb3c3f988d71fd5d64cc753195e8ed53df7c", + "sha256:2f9b3407c58347a452fc0736861593e105139b905cca7d097e413453a1d650b4", + "sha256:33f159443db0829d16f0a8d83d94df3109bb6dd801975fe86bacb9bf71628e97", + "sha256:3f2aca7f68580dc2508289c729bd49ee929a436208d2b2b6aab15745a70a57df", + "sha256:499c798053cdebcaa916eef8cd733e5584b5909f789de856b482cd7d069bdad8", + "sha256:4eec37370483331d13514c3f55f446fc5248d6373e7029a29ecb7b7494851e7a", + "sha256:552a815579aa1e995f39fd05dde6cd378e191b063f031f2acfe73ce9fb7f9e56", + "sha256:5873888fff1c7cf5b71efbe80e0e73153fe9212fafdf8e44adfe4c20ec9f82d7", + "sha256:61a3d5b97955422964be6b3baf05ff2ce7f26f52c85dd88db11d5e03e146a3a6", + "sha256:674e822aa665b9fd75130c6c5f5ed9564a38c6cea6a6432ce47eafb68ee578c5", + "sha256:7ce3175801d0ae5fdfa79b4f0cfed08807af4d075b402b7e294e6aa72af9aa2a", + "sha256:9743c91088d396c1a5a3c9978354b61b0382b4e3c440ce83cf77994a43e8c521", + "sha256:9f94aac67a2045ec719ffe6111df543bac7874cee01f41928f6969756e030564", + "sha256:a26f8ec704e5a7423c8824d425086705e381b4f1dfdef6e3a1edab7ba174ec49", + "sha256:abf7e0c3cf117c44d9285cc6128856106183938c68fd4944763003decdcfeb66", + "sha256:b09669bcda124e83708f34a94606e01b614fa71931d356c1f1a5297ba11f110a", + "sha256:cd07039aa5df222037005b08fbbfd69b3ab0b0bd7a07d7906de75ae52c4e3119", + "sha256:d23e0ea196702d918b60c8288561e722bf437d82cb7ef2edcd98cfa38905d506", + "sha256:d65cc1df038ef55a99e617431f0553cd77763869eebdf9042403e16089fe746c", + "sha256:d7da2e1d5f558c37d6e8c1246f1aec1e7349e4913d8fb3cb289a35de573fe2eb" ], "index": "pypi", - "version": "==0.790" + "version": "==0.812" }, "mypy-extensions": { "hashes": [ @@ -556,10 +568,10 @@ }, "packaging": { "hashes": [ - "sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8", - "sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181" + "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5", + "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a" ], - "version": "==20.4" + "version": "==20.9" }, "paramiko": { "hashes": [ @@ -605,10 +617,10 @@ }, "pkginfo": { "hashes": [ - "sha256:a6a4ac943b496745cec21f14f021bbd869d5e9b4f6ec06918cffea5a2f4b9193", - "sha256:ce14d7296c673dc4c61c759a0b6c14bae34e34eb819c0017bb6ca5b7292c56e9" + "sha256:029a70cb45c6171c329dfc890cde0879f8c52d6f3922794796e06f577bb03db4", + "sha256:9fdbea6495622e022cc72c2e5e1b735218e4ffb2a2a69cde2694a6c1f16afb75" ], - "version": "==1.6.1" + "version": "==1.7.0" }, "plette": { "extras": [ @@ -629,33 +641,35 @@ }, "protobuf": { "hashes": [ - "sha256:0e247612fadda953047f53301a7b0407cb0c3cb4ae25a6fde661597a04039b3c", - "sha256:0fc96785262042e4863b3f3b5c429d4636f10d90061e1840fce1baaf59b1a836", - "sha256:1c51fda1bbc9634246e7be6016d860be01747354ed7015ebe38acf4452f470d2", - "sha256:1d63eb389347293d8915fb47bee0951c7b5dab522a4a60118b9a18f33e21f8ce", - "sha256:22bcd2e284b3b1d969c12e84dc9b9a71701ec82d8ce975fdda19712e1cfd4e00", - "sha256:2a7e2fe101a7ace75e9327b9c946d247749e564a267b0515cf41dfe450b69bac", - "sha256:43b554b9e73a07ba84ed6cf25db0ff88b1e06be610b37656e292e3cbb5437472", - "sha256:4b74301b30513b1a7494d3055d95c714b560fbb630d8fb9956b6f27992c9f980", - "sha256:4e75105c9dfe13719b7293f75bd53033108f4ba03d44e71db0ec2a0e8401eafd", - "sha256:5b7a637212cc9b2bcf85dd828b1178d19efdf74dbfe1ddf8cd1b8e01fdaaa7f5", - "sha256:5e9806a43232a1fa0c9cf5da8dc06f6910d53e4390be1fa06f06454d888a9142", - "sha256:629b03fd3caae7f815b0c66b41273f6b1900a579e2ccb41ef4493a4f5fb84f3a", - "sha256:72230ed56f026dd664c21d73c5db73ebba50d924d7ba6b7c0d81a121e390406e", - "sha256:86a75477addde4918e9a1904e5c6af8d7b691f2a3f65587d73b16100fbe4c3b2", - "sha256:8971c421dbd7aad930c9bd2694122f332350b6ccb5202a8b7b06f3f1a5c41ed5", - "sha256:9616f0b65a30851e62f1713336c931fcd32c057202b7ff2cfbfca0fc7d5e3043", - "sha256:b0d5d35faeb07e22a1ddf8dce620860c8fe145426c02d1a0ae2688c6e8ede36d", - "sha256:ecc33531a213eee22ad60e0e2aaea6c8ba0021f0cce35dbf0ab03dee6e2a23a1" - ], - "version": "==3.14.0" + "sha256:03f6ee325710eb164bd85741721fbd4326c399b0ecf49dddba9172df9149c124", + "sha256:0644b70bc9d36329438de0da619e3337ab4eade784a9acc6ba8e5ed22f2e9e50", + "sha256:0938b13c2a5ad0ce2b75c19dc0c2082f721a61b97d3f11d73ee4412dfb6e06eb", + "sha256:165071fdfaf4d7ff7a70d2197bba048fb301c7b957095eedf4bf8379d904adb1", + "sha256:17a26d5a7757211ce60032f0111dd426d4e5f44145ac6e86fa241e0cffe9df17", + "sha256:28daf1c44cf11c70f3852bd13f8fc6f7f1f211abbf068ffbeb25f8e4e2f6c98b", + "sha256:3188af446c544df79525d66e2d987490053262b81226fc6fa3f00556135f7e8a", + "sha256:509fba6d57f0c1dc483f91754a33a5d8632da1bf75d87b6c127bcf0e3966fa44", + "sha256:5810e9e3851ab8aa28624bdc947f9236ce7ec2be2f63b88b373fdc92791fbf86", + "sha256:60fd96bc77293d9770d133cdbf3af9ff2373ce11d2055d2ca581db2330fe6805", + "sha256:763a9444bafd2204cdeb29be54147ce7cfae04df805161507426c215a461ae6e", + "sha256:824dbae3390fcc3ea1bf96748e6da951a601802894cf7e1465e72b4732538cab", + "sha256:a8cccf2d2df2675f10a47f963f8010516f6aff09db7d134b0b0e57422ce07f78", + "sha256:c70647b71385302efb615d25c643f1b92784201f7b4ed2d9ff472e4c869ccad5", + "sha256:d3797255e8fbf234477332864f0304222b2492dfd91e95e6314326dbf0e235e2", + "sha256:d52494780f89d1277f982c209197ce1da91d416c27ba9f4495d339ac6a3bac02", + "sha256:d7576c8b59288c5feea161d9ed74925d26759963b51f850d8eadd7a88b4e0ddf", + "sha256:de2e543ffb1701ea8fe7077ba571dbaa1980876d1817f6a70b984064dcb20e6f", + "sha256:edae67da507393f377555531cb7afa1714c75a84404f3541ef5df36ce3637768", + "sha256:f49a1721f2a3d72466aa19f095cc3fe2883b5e1868f4a1e9f51043df8ecb0140" + ], + "version": "==3.15.1" }, "py": { "hashes": [ - "sha256:366389d1db726cd2fcfc79732e75410e5fe4d31db13692115529d34069a043c2", - "sha256:9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342" + "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3", + "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a" ], - "version": "==1.9.0" + "version": "==1.10.0" }, "pycodestyle": { "hashes": [ @@ -684,18 +698,18 @@ }, "pygments": { "hashes": [ - "sha256:381985fcc551eb9d37c52088a32914e00517e57f4a21609f48141ba08e193fa0", - "sha256:88a0bbcd659fcb9573703957c6b9cff9fab7295e6e76db54c9d00ae42df32773" + "sha256:37a13ba168a02ac54cc5891a42b1caec333e59b66addb7fa633ea8a6d73445c0", + "sha256:b21b072d0ccdf29297a82a2363359d99623597b8a265b8081760e4d0f7153c88" ], - "version": "==2.7.2" + "version": "==2.8.0" }, "pylint": { "hashes": [ - "sha256:bb4a908c9dadbc3aac18860550e870f58e1a02c9f2c204fdf5693d73be061210", - "sha256:bfe68f020f8a0fece830a22dd4d5dddb4ecc6137db04face4c3420a46a52239f" + "sha256:2e0c6749d809985e4f181c336a8f89b2b797340d8049160bf95f35a3f0ecf6fc", + "sha256:3ea3926700db399765db1faf53860f11e4e981a090646e9eacd01ca78e020579" ], "index": "pypi", - "version": "==2.6.0" + "version": "==2.7.0" }, "pynacl": { "hashes": [ @@ -735,11 +749,11 @@ }, "pytest": { "hashes": [ - "sha256:4288fed0d9153d9646bfcdf0c0428197dba1ecb27a33bb6e031d002fa88653fe", - "sha256:c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e" + "sha256:9d1edf9e7d0b84d72ea3dbcdfd22b35fb543a5e8f2a60092dd578936bf63d7f9", + "sha256:b574b57423e818210672e07ca1fa90aaf194a4f63f3ab909a2c67ebb22913839" ], "index": "pypi", - "version": "==6.1.2" + "version": "==6.2.2" }, "pytest-docker": { "hashes": [ @@ -765,26 +779,36 @@ }, "pyyaml": { "hashes": [ - "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97", - "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76", - "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2", - "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648", - "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf", - "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f", - "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2", - "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee", - "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", - "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c", - "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a" - ], - "version": "==5.3.1" + "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", + "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696", + "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393", + "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77", + "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922", + "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5", + "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8", + "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10", + "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc", + "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018", + "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e", + "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253", + "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183", + "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb", + "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185", + "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db", + "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46", + "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b", + "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63", + "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df", + "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc" + ], + "version": "==5.4.1" }, "readme-renderer": { "hashes": [ - "sha256:267854ac3b1530633c2394ead828afcd060fc273217c42ac36b6be9c42cd9a9d", - "sha256:6b7e5aa59210a40de72eb79931491eaf46fefca2952b9181268bd7c7c65c260a" + "sha256:63b4075c6698fcfa78e584930f07f39e05d46f3ec97f65006e430b595ca6348c", + "sha256:92fd5ac2bf8677f310f3303aa4bce5b9d5f9f2094ab98c29f13791d7b805a3db" ], - "version": "==28.0" + "version": "==29.0" }, "regex": { "hashes": [ @@ -834,10 +858,10 @@ }, "requests": { "hashes": [ - "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8", - "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998" + "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", + "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e" ], - "version": "==2.25.0" + "version": "==2.25.1" }, "requests-toolbelt": { "hashes": [ @@ -862,12 +886,12 @@ }, "secretstorage": { "hashes": [ - "sha256:46305c3847ee3f7252b284e0eee5590fa6341c891104a2fd2313f8798c615a82", - "sha256:ed5279d788af258e4676fa26b6efb6d335a31f1f9f529b6f1e200f388fac33e1" + "sha256:422d82c36172d88d6a0ed5afdec956514b189ddbfb72fefab0c8a1cee4eaf71f", + "sha256:fd666c51a6bf200643495a04abb261f83229dcb6fd8472ec393df7ffc8b6f195" ], "index": "pypi", "markers": "sys_platform == 'linux'", - "version": "==3.2.0" + "version": "==3.3.1" }, "six": { "hashes": [ @@ -878,10 +902,10 @@ }, "smmap": { "hashes": [ - "sha256:54c44c197c819d5ef1991799a7e30b662d1e520f2ac75c9efbeb54a742214cf4", - "sha256:9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24" + "sha256:7bfcf367828031dc893530a29cb35eb8c8f2d7c8f2d0989354d75d24c8573714", + "sha256:84c2751ef3072d4f6b2785ec7ee40244c6f45eb934d9e543e2c51f1bd3d54c50" ], - "version": "==3.0.4" + "version": "==3.0.5" }, "texttable": { "hashes": [ @@ -906,54 +930,54 @@ }, "tqdm": { "hashes": [ - "sha256:9ad44aaf0fc3697c06f6e05c7cf025dd66bc7bcb7613c66d85f4464c47ac8fad", - "sha256:ef54779f1c09f346b2b5a8e5c61f96fbcb639929e640e59f8cf810794f406432" + "sha256:65185676e9fdf20d154cffd1c5de8e39ef9696ff7e59fe0156b1b08e468736af", + "sha256:70657337ec104eb4f3fb229285358f23f045433f6aea26846cdd55f0fd68945c" ], - "version": "==4.51.0" + "version": "==4.57.0" }, "twine": { "hashes": [ - "sha256:34352fd52ec3b9d29837e6072d5a2a7c6fe4290e97bba46bb8d478b5c598f7ab", - "sha256:ba9ff477b8d6de0c89dd450e70b2185da190514e91c42cc62f96850025c10472" + "sha256:2f6942ec2a17417e19d2dd372fc4faa424c87ee9ce49b4e20c427eb00a0f3f41", + "sha256:fcffa8fc37e8083a5be0728371f299598870ee1eccc94e9a25cef7b1dcfa8297" ], "index": "pypi", - "version": "==3.2.0" + "version": "==3.3.0" }, "typed-ast": { "hashes": [ - "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355", - "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919", - "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d", - "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa", - "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652", - "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75", - "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c", - "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01", - "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d", - "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1", - "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907", - "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c", - "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3", - "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d", - "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b", - "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614", - "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c", - "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb", - "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395", - "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b", - "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41", - "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6", - "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34", - "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe", - "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072", - "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298", - "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91", - "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4", - "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f", - "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7" + "sha256:07d49388d5bf7e863f7fa2f124b1b1d89d8aa0e2f7812faff0a5658c01c59aa1", + "sha256:14bf1522cdee369e8f5581238edac09150c765ec1cb33615855889cf33dcb92d", + "sha256:240296b27397e4e37874abb1df2a608a92df85cf3e2a04d0d4d61055c8305ba6", + "sha256:36d829b31ab67d6fcb30e185ec996e1f72b892255a745d3a82138c97d21ed1cd", + "sha256:37f48d46d733d57cc70fd5f30572d11ab8ed92da6e6b28e024e4a3edfb456e37", + "sha256:4c790331247081ea7c632a76d5b2a265e6d325ecd3179d06e9cf8d46d90dd151", + "sha256:5dcfc2e264bd8a1db8b11a892bd1647154ce03eeba94b461effe68790d8b8e07", + "sha256:7147e2a76c75f0f64c4319886e7639e490fee87c9d25cb1d4faef1d8cf83a440", + "sha256:7703620125e4fb79b64aa52427ec192822e9f45d37d4b6625ab37ef403e1df70", + "sha256:8368f83e93c7156ccd40e49a783a6a6850ca25b556c0fa0240ed0f659d2fe496", + "sha256:84aa6223d71012c68d577c83f4e7db50d11d6b1399a9c779046d75e24bed74ea", + "sha256:85f95aa97a35bdb2f2f7d10ec5bbdac0aeb9dafdaf88e17492da0504de2e6400", + "sha256:8db0e856712f79c45956da0c9a40ca4246abc3485ae0d7ecc86a20f5e4c09abc", + "sha256:9044ef2df88d7f33692ae3f18d3be63dec69c4fb1b5a4a9ac950f9b4ba571606", + "sha256:963c80b583b0661918718b095e02303d8078950b26cc00b5e5ea9ababe0de1fc", + "sha256:987f15737aba2ab5f3928c617ccf1ce412e2e321c77ab16ca5a293e7bbffd581", + "sha256:9ec45db0c766f196ae629e509f059ff05fc3148f9ffd28f3cfe75d4afb485412", + "sha256:9fc0b3cb5d1720e7141d103cf4819aea239f7d136acf9ee4a69b047b7986175a", + "sha256:a2c927c49f2029291fbabd673d51a2180038f8cd5a5b2f290f78c4516be48be2", + "sha256:a38878a223bdd37c9709d07cd357bb79f4c760b29210e14ad0fb395294583787", + "sha256:b4fcdcfa302538f70929eb7b392f536a237cbe2ed9cba88e3bf5027b39f5f77f", + "sha256:c0c74e5579af4b977c8b932f40a5464764b2f86681327410aa028a22d2f54937", + "sha256:c1c876fd795b36126f773db9cbb393f19808edd2637e00fd6caba0e25f2c7b64", + "sha256:c9aadc4924d4b5799112837b226160428524a9a45f830e0d0f184b19e4090487", + "sha256:cc7b98bf58167b7f2db91a4327da24fb93368838eb84a44c472283778fc2446b", + "sha256:cf54cfa843f297991b7388c281cb3855d911137223c6b6d2dd82a47ae5125a41", + "sha256:d003156bb6a59cda9050e983441b7fa2487f7800d76bdc065566b7d728b4581a", + "sha256:d175297e9533d8d37437abc14e8a83cbc68af93cc9c1c59c2c292ec59a0697a3", + "sha256:d746a437cdbca200622385305aedd9aef68e8a645e385cc483bdc5e488f07166", + "sha256:e683e409e5c45d5c9082dc1daf13f6374300806240719f95dc783d1fc942af10" ], "markers": "implementation_name == 'cpython' and python_version < '3.8'", - "version": "==1.4.1" + "version": "==1.4.2" }, "typing-extensions": { "hashes": [ @@ -961,14 +985,15 @@ "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c", "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f" ], + "markers": "python_version < '3.8'", "version": "==3.7.4.3" }, "urllib3": { "hashes": [ - "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08", - "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473" + "sha256:1b465e494e3e0d8939b50680403e3aedaa2bc434b7d5af64dfd3c958d7f5ae80", + "sha256:de3eedaad74a2683334e282005cd8d7f22f4d55fa690a2a1020a416cb0a47e73" ], - "version": "==1.26.2" + "version": "==1.26.3" }, "vistir": { "hashes": [ @@ -993,11 +1018,11 @@ }, "wheel": { "hashes": [ - "sha256:497add53525d16c173c2c1c733b8f655510e909ea78cc0e29d374243544b77a2", - "sha256:99a22d87add3f634ff917310a3d87e499f19e663413a52eb9232c447aa646c9f" + "sha256:78b5b185f0e5763c26ca1e324373aadd49182ca90e825f7853f4b2509215dc0e", + "sha256:e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e" ], "index": "pypi", - "version": "==0.35.1" + "version": "==0.36.2" }, "wrapt": { "hashes": [ diff --git a/examples/config.py b/examples/config.py index e36330d..bce1e86 100644 --- a/examples/config.py +++ b/examples/config.py @@ -33,4 +33,12 @@ staged_file = client.data.stage_bytes(test_bytes, user.token) print("StagedFile: ", staged_file) -stage = client.config.apply(staged_file.cid, token=user.token, config=config) +print("Disabling from hot and cold storage...") +config["cold"]["enabled"] = False +config["hot"]["enabled"] = False +stage = client.config.apply( + staged_file.cid, token=user.token, config=config, no_exec=False, import_deal_ids=[] +) + +print("Removing...") +client.config.remove(staged_file.cid, token=user.token) diff --git a/examples/deals.py b/examples/deals.py index 4465a5b..0c19b88 100644 --- a/examples/deals.py +++ b/examples/deals.py @@ -21,12 +21,12 @@ apply_res = client.config.apply(stage_res.cid, token=user.token) # Check that cid is in the process of being stored by Powegate - check = client.data.cid_info([stage_res.cid], user.token) + check = client.data.cid_info(stage_res.cid, user.token) print("Checking cid storage...") print(check) # Wait some time so that we can get some deals - time.sleep(60) + time.sleep(10) # Check information about the storage deal storage_deals = client.deals.storage_deal_records( diff --git a/examples/storage_info.py b/examples/storage_info.py new file mode 100644 index 0000000..c5500bc --- /dev/null +++ b/examples/storage_info.py @@ -0,0 +1,33 @@ +import os +from pathlib import Path +from pygate_grpc.client import PowerGateClient + + +if __name__ == "__main__": + + hostName = "127.0.0.1:5002" + + # Create client + c = PowerGateClient(hostName, False) + + # Create user + user = c.admin.users.create() + print("User created:") + print(user) + + # Stage file + print("Staging 'testfile.txt' to IPFS storage...") + path = Path(os.path.abspath(__file__)) + staged_file = c.data.stage_file(path.parent / "testfile.txt", user.token) + print("IPFS CID: " + staged_file.cid) + + # Apply the default storage config to the given file + print("Applying Filecoin storage config to CID...") + job = c.config.apply(staged_file.cid, override=False, token=user.token) + + # Report back the Job ID for the successful Filecoin storage job + print("File successfully added to Filecoin storage.") + print("Job ID: " + job.jobId) + + storage_infos = c.storage_info.list(cids=[staged_file.cid], token=user.token) + print(storage_infos) diff --git a/examples/storage_jobs.py b/examples/storage_jobs.py new file mode 100644 index 0000000..09e9eff --- /dev/null +++ b/examples/storage_jobs.py @@ -0,0 +1,34 @@ +import os +from pathlib import Path +from pygate_grpc.client import PowerGateClient + + +if __name__ == "__main__": + + hostName = "127.0.0.1:5002" + + # Create client + c = PowerGateClient(hostName, False) + + # Create user + user = c.admin.users.create() + print("User created:") + print(user) + + # Stage file + print("Staging 'testfile.txt' to IPFS storage...") + path = Path(os.path.abspath(__file__)) + staged_file = c.data.stage_file(path.parent / "testfile.txt", user.token) + print("IPFS CID: " + staged_file.cid) + + # Apply the default storage config to the given file + print("Applying Filecoin storage config to CID...") + job = c.config.apply(staged_file.cid, override=False, token=user.token) + + # Report back the Job ID for the successful Filecoin storage job + print("File successfully added to Filecoin storage.") + print("Job ID: " + job.jobId) + + storage_job = c.storage_jobs.storage_job(job.jobId, token=user.token) + storage_config = c.storage_jobs.storage_config_for_job(job.jobId, token=user.token) + jobs_list = c.storage_jobs.list(cid_filter=staged_file.cid, token=user.token) diff --git a/examples/store_retrieve.py b/examples/store_retrieve.py index 68fc032..39fbae8 100644 --- a/examples/store_retrieve.py +++ b/examples/store_retrieve.py @@ -1,5 +1,6 @@ import os from pathlib import Path + from pygate_grpc.client import PowerGateClient @@ -54,7 +55,7 @@ c.config.apply(staged_file.cid, override=True, config=new_config, token=user.token) # Check that CID is stored - check = c.data.cid_info([staged_file.cid], user.token) + check = c.data.cid_info(staged_file.cid, user.token) print("Checking CID storage...") print(check) @@ -66,3 +67,6 @@ with open(path.parent / "testfile_copy.txt", "wb") as f: f.write(file_bytes) print("Saved as 'testfile_copy.txt'") + + cid_summary = c.data.cid_summary(cids=[staged_file.cid], token=user.token) + print("CID summary: ", cid_summary) diff --git a/pygate_grpc/client.py b/pygate_grpc/client.py index a30cc71..c44bdb4 100644 --- a/pygate_grpc/client.py +++ b/pygate_grpc/client.py @@ -9,6 +9,7 @@ from pygate_grpc.deals import DealsClient from pygate_grpc.decorators import unmarshal_with from pygate_grpc.errors import ErrorHandlerMeta +from pygate_grpc.storage_info import StorageInfoClient from pygate_grpc.storage_jobs import StorageJobsClient from pygate_grpc.types import BuildInfo from pygate_grpc.wallet import WalletClient @@ -34,6 +35,7 @@ def __init__(self, host_name, is_secure=False): self.deals = DealsClient(channel, self.get_metadata) self.config = ConfigClient(channel, self.get_metadata) self.storage_jobs = StorageJobsClient(channel, self.get_metadata) + self.storage_info = StorageInfoClient(channel, self.get_metadata) self.wallet = WalletClient(channel, self.get_metadata) def set_token(self, token: str): @@ -61,8 +63,8 @@ def get_metadata( token_data: Tuple[Tuple[str, str]] = () admin_token_data: Tuple[Tuple[str, str]] = () - final_token = token if token else self.token - final_admin_token = admin_token if admin_token else self.admin_token + final_token = token or self.token + final_admin_token = admin_token or self.admin_token if final_token is not None: token_data = ((TOKEN_KEY, final_token),) diff --git a/pygate_grpc/config.py b/pygate_grpc/config.py index 4fb2e1c..a6cb6e4 100644 --- a/pygate_grpc/config.py +++ b/pygate_grpc/config.py @@ -22,7 +22,7 @@ def default(self, token: str = None) -> dict: # Currently you need to pass in the user_pb2.DefaultConfig. However, this is not a good design. def set_default(self, config: str, token: str = None): - if type(config) == dict: + if isinstance(config, dict): config = json.dumps(config) config = Parse(config, user_pb2.StorageConfig()) @@ -33,9 +33,15 @@ def set_default(self, config: str, token: str = None): @unmarshal_with(Job) def apply( - self, cid, token: str = None, override: bool = False, config: str = None, + self, + cid, + token: str = None, + override: bool = False, + config: str = None, + import_deal_ids=[], + no_exec=False, ) -> Job: - if type(config) == dict: + if isinstance(config, dict): config = json.dumps(config) if config: @@ -47,6 +53,8 @@ def apply( has_override_config=override, config=config, has_config=config is not None, + import_deal_ids=import_deal_ids, + no_exec=no_exec, ) return self.client.ApplyStorageConfig(req, metadata=self.get_metadata(token)) diff --git a/pygate_grpc/data.py b/pygate_grpc/data.py index 3e3d338..9d7d50e 100644 --- a/pygate_grpc/data.py +++ b/pygate_grpc/data.py @@ -6,7 +6,7 @@ from pygate_grpc.decorators import unmarshal_with from pygate_grpc.errors import ErrorHandlerMeta, future_error_handler -from pygate_grpc.types import CidInfo, StagedFile +from pygate_grpc.types import CidInfo, CidSummary, StagedFile CHUNK_SIZE = 1024 * 1024 # 1MB @@ -101,7 +101,14 @@ def watch_logs( req, metadata=self.get_metadata(token), timeout=timeout ) - @unmarshal_with(CidInfo, many=True) - def cid_info(self, cids: List[str], token: str = None) -> List[CidInfo]: - req = user_pb2.CidInfoRequest(cids=cids) - return self.client.CidInfo(req, metadata=self.get_metadata(token)).cid_infos + @unmarshal_with(CidInfo) + def cid_info(self, cid: str, token: str = None) -> CidInfo: + req = user_pb2.CidInfoRequest(cid=cid) + return self.client.CidInfo(req, metadata=self.get_metadata(token)).cid_info + + @unmarshal_with(CidSummary, many=True) + def cid_summary(self, cids: List[str], token: str = None) -> CidSummary: + req = user_pb2.CidSummaryRequest(cids=cids) + return self.client.CidSummary( + req, metadata=self.get_metadata(token) + ).cid_summary diff --git a/pygate_grpc/decorators.py b/pygate_grpc/decorators.py index 8789c4b..c99b6cb 100644 --- a/pygate_grpc/decorators.py +++ b/pygate_grpc/decorators.py @@ -15,18 +15,16 @@ def wrap(original_func): def wrapper(*args, **kwargs): if cls is None: if many: - return [ MessageToDict(obj) for obj in original_func(*args, **kwargs) ] return MessageToDict(original_func(*args, **kwargs)) - else: - if many: - return [ - cls(**MessageToDict(obj)) - for obj in original_func(*args, **kwargs) - ] - return cls(**MessageToDict(original_func(*args, **kwargs))) + # cls is not None + if many: + return [ + cls(**MessageToDict(obj)) for obj in original_func(*args, **kwargs) + ] + return cls(**MessageToDict(original_func(*args, **kwargs))) return wrapper diff --git a/pygate_grpc/storage_info.py b/pygate_grpc/storage_info.py new file mode 100644 index 0000000..677443a --- /dev/null +++ b/pygate_grpc/storage_info.py @@ -0,0 +1,27 @@ +from typing import List + +from powergate.user.v1 import user_pb2, user_pb2_grpc + +from pygate_grpc.decorators import unmarshal_with +from pygate_grpc.errors import ErrorHandlerMeta +from pygate_grpc.types import StorageInfo + + +class StorageInfoClient(object, metaclass=ErrorHandlerMeta): + def __init__(self, channel, get_metadata): + self.client = user_pb2_grpc.UserServiceStub(channel) + self.get_metadata = get_metadata + + @unmarshal_with(StorageInfo) + def get(self, cid: str, token: str = None) -> StorageInfo: + req = user_pb2.StorageInfoRequest(cid=cid) + return self.client.StorageInfo( + req, metadata=self.get_metadata(token) + ).storage_info + + @unmarshal_with(StorageInfo, many=True) + def list(self, cids: List[str], token: str = None) -> List[StorageInfo]: + req = user_pb2.ListStorageInfoRequest(cids=cids) + return self.client.ListStorageInfo( + req, metadata=self.get_metadata(token) + ).storage_info diff --git a/pygate_grpc/storage_jobs.py b/pygate_grpc/storage_jobs.py index 0b63681..1eea3c2 100644 --- a/pygate_grpc/storage_jobs.py +++ b/pygate_grpc/storage_jobs.py @@ -18,9 +18,21 @@ def storage_config_for_job(self, job_id: str, token: str = None): req = user_pb2.StorageConfigForJobRequest(job_id=job_id) return self.client.StorageConfigForJob(req, metadata=self.get_metadata(token)) - def queued(self, cids: List[str], token: str = None): - req = user_pb2.QueuedStorageJobsRequest(cids=cids) - return self.client.QueuedStorageJobs(req, metadata=self.get_metadata(token)) + def list( + self, + cid_filter: str, + limit: int = None, + ascending: bool = False, + next_page_token=None, + token: str = None, + ): + req = user_pb2.ListStorageJobsRequest( + cid_filter=cid_filter, + limit=limit, + ascending=ascending, + next_page_token=next_page_token, + ) + return self.client.ListStorageJobs(req, metadata=self.get_metadata(token)) def executing(self, cids: List[str], token: str = None): req = user_pb2.ExecutingStorageJobsRequest(cids=cids) diff --git a/pygate_grpc/types.py b/pygate_grpc/types.py index bfaeee7..f8b167e 100644 --- a/pygate_grpc/types.py +++ b/pygate_grpc/types.py @@ -1,9 +1,13 @@ from collections import namedtuple User = namedtuple("User", ["id", "token"]) + StagedFile = namedtuple("StagedFile", ["cid"]) + Address = namedtuple("Address", ["name", "address", "type", "balance"]) + Job = namedtuple("Job", ["jobId"]) + CidInfo = namedtuple( "CidInfo", [ @@ -12,11 +16,16 @@ "executingStorageJob", "queuedStorageJobs", "currentStorageInfo", - "latestFinalStorageJob", - "latestSuccessfulStorageJob", ], - defaults=(None,) * 7, + defaults=(None,) * 5, ) + +CidSummary = namedtuple( + "CidSummary", ["cid", "stored", "queuedJobs", "executingJob"], defaults=(None,) * 4, +) + +StorageInfo = namedtuple("StorageInfo", ["job_id", "cid", "created", "hot", "cold"]) + BuildInfo = namedtuple( "BuildInfo", ["gitCommit", "gitBranch", "gitState", "gitSummary", "buildDate", "version"], diff --git a/setup.py b/setup.py index b892b1c..4de3f37 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ # read the contents of your README file from os import path -from setuptools import setup,find_packages +from setuptools import find_packages, setup this_directory = path.abspath(path.dirname(__file__)) with open(path.join(this_directory, "README.md"), encoding="utf-8") as f: @@ -9,11 +9,11 @@ setup( install_requires=[ - "deprecated==1.2.10", - "grpc-powergate-client==1.1.2", - "grpcio==1.33.2", + "deprecated==1.2.11", + "grpc-powergate-client==2.1.0", + "grpcio==1.35.0", "mypy-extensions==0.4.3", - "protobuf==3.14.0", + "protobuf==3.15.1", "six==1.15.0", "wrapt==1.12.1", ], diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index a5cac6a..a59d41b 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -7,6 +7,7 @@ import docker import pytest +import requests from git import Repo from pygate_grpc.client import PowerGateClient @@ -16,7 +17,9 @@ logger = logging.getLogger(__name__) REPO_LOCAL_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "repo") -POWERGATE_VERSION_TEST_TARGET = "v1.2.1" +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) + +POWERGATE_VERSION_TEST_TARGET = "v2.1.0" pytest_plugins = [] @@ -42,6 +45,13 @@ def is_docker_compose_installed(): return res.returncode == 0 +def is_ipfs_running(): + """Checks if ipfs api is operational""" + logger.debug("Checking if IPFS API is operational...") + res = requests.post("http://localhost:5001/api/v0/swarm/peers") + return res.status_code == 200 + + def clone_powergate_repo(version="master"): """Clones official Powergate repo """ repo_url = "https://github.com/textileio/powergate" @@ -55,6 +65,7 @@ def docker_compose_file(pytestconfig): os.path.join(REPO_LOCAL_PATH, "docker", "docker-compose-localnet.yaml"), os.path.join(REPO_LOCAL_PATH, "docker", "ipfs-image.yaml"), os.path.join(REPO_LOCAL_PATH, "docker", "powergate-build-context.yaml"), + os.path.join(BASE_DIR, "docker", "resource_limits.yaml"), ] @@ -94,7 +105,7 @@ def localnet(docker_services): """Starts a cli container to interact with localnet""" client = docker.from_env() container = client.containers.run( - "pygate/powergate-cli:v1.2.1", + "pygate/powergate-cli:v2.1.0", network_mode="host", auto_remove=True, detach=True, @@ -114,8 +125,12 @@ def localnet(docker_services): continue except docker.errors.ContainerError: continue + break + # Give it some time to initialize... + sleep(10) + yield {"cli": container} logger.debug("Tearing down localnet...") diff --git a/tests/integration/docker/resource_limits.yaml b/tests/integration/docker/resource_limits.yaml new file mode 100644 index 0000000..842b6b1 --- /dev/null +++ b/tests/integration/docker/resource_limits.yaml @@ -0,0 +1,11 @@ + +version: '3.7' + +services: + + ipfs: + deploy: + resources: + limits: + cpus: 0.50 + memory: 512M \ No newline at end of file diff --git a/tests/integration/test_config.py b/tests/integration/test_config.py index ed0aa79..a2cd617 100644 --- a/tests/integration/test_config.py +++ b/tests/integration/test_config.py @@ -19,7 +19,7 @@ def user(pygate_client: PowerGateClient): def test_get_default_config(pygate_client: PowerGateClient, user: User): default_config = pygate_client.config.default(user.token) - assert type(default_config) is dict + assert isinstance(default_config, dict) def test_replace_default_config(pygate_client: PowerGateClient, user: User): @@ -31,7 +31,7 @@ def test_replace_default_config(pygate_client: PowerGateClient, user: User): default_config = pygate_client.config.default(user.token) - assert type(default_config) == dict + assert isinstance(default_config, dict) assert default_config == new_config @@ -46,10 +46,15 @@ def test_apply_config(pygate_client: PowerGateClient, user: User): staged_file = pygate_client.data.stage_bytes(file_bytes, token=user.token) job = pygate_client.config.apply( - staged_file.cid, token=user.token, config=config, override=True + staged_file.cid, + token=user.token, + config=config, + override=True, + no_exec=False, + import_deal_ids=[], ) - assert type(job) == Job + assert isinstance(job, Job) def test_remove(pygate_client: PowerGateClient, user: User): diff --git a/tests/integration/test_data.py b/tests/integration/test_data.py index 86f1949..1f31a3b 100644 --- a/tests/integration/test_data.py +++ b/tests/integration/test_data.py @@ -1,10 +1,11 @@ import logging +import subprocess import pytest from pygate_grpc.client import PowerGateClient from pygate_grpc.exceptions import GRPCTimeoutException -from pygate_grpc.types import CidInfo, StagedFile, User +from pygate_grpc.types import CidInfo, CidSummary, StagedFile, User logger = logging.getLogger(__name__) @@ -36,12 +37,18 @@ def test_get_data(pygate_client: PowerGateClient, user: User): def test_cid_info(pygate_client: PowerGateClient, user: User, staged_file: StagedFile): + cid_info = pygate_client.data.cid_info(staged_file.cid, token=user.token) + assert isinstance(cid_info, CidInfo) - list_of_cids = [staged_file.cid] - cid_info = pygate_client.data.cid_info(list_of_cids, token=user.token) - assert len(cid_info) == len(list_of_cids) - assert type(cid_info[0]) == CidInfo +def test_cid_summary( + pygate_client: PowerGateClient, user: User, staged_file: StagedFile +): + cid_summary_list = pygate_client.data.cid_summary( + cids=[staged_file.cid], token=user.token + ) + assert len(cid_summary_list) > 0 + assert isinstance(cid_summary_list[0], CidSummary) def test_logs(pygate_client: PowerGateClient, user: User, staged_file: StagedFile): diff --git a/tests/integration/test_storage_info.py b/tests/integration/test_storage_info.py new file mode 100644 index 0000000..ad30f1b --- /dev/null +++ b/tests/integration/test_storage_info.py @@ -0,0 +1,33 @@ +import logging + +import pytest + +from pygate_grpc.client import PowerGateClient +from pygate_grpc.exceptions import GRPCTimeoutException +from pygate_grpc.types import CidInfo, StagedFile, User + +logger = logging.getLogger(__name__) + + +@pytest.fixture(scope="module") +def user(pygate_client: PowerGateClient): + return pygate_client.admin.users.create() + + +@pytest.fixture(scope="module") +def staged_file(pygate_client: PowerGateClient, user: User): + original_file_contents = b"Another file for staging and testing" + staged_file = pygate_client.data.stage_bytes( + original_file_contents, token=user.token + ) + pygate_client.config.apply(staged_file.cid, token=user.token, override=True) + return staged_file + + +def test_storage_info( + pygate_client: PowerGateClient, user: User, staged_file: StagedFile +): + storage_info_list = pygate_client.storage_info.list( + cids=[staged_file.cid], token=user.token + ) + assert len(storage_info_list) == 0